我說過,如果我禁止override/new(Overloads/Shadows)關鍵字,編譯器會生成警告。通常,我設置必要的關鍵字。如果我禁止「覆蓋」會怎麼樣?
但是如果我忘了它呢?
// >>>> Case A - not virtual property -
class MyPoint : Point
{
int X { get; set; } // vs new int X { get; set; }
}
// >>>> Case B - virtual property -
class Foo
{
virtual int Value { get { return 0; } }
}
class Bar : Foo
{
// vs override/new int Value { get { return 1; } }
int Value { get { return 1; } }
}
換句話說,我總是有2個後備字段,'new'只是同時使用兩個字段。 – serhio 2010-02-24 15:39:01