【发布时间】:2011-01-20 14:10:08
【问题描述】:
我注意到如果我禁止使用 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; } }
}
【问题讨论】: