说我有下面的代码:访问一个孩子的静态属性在父类的方法
class Parent
{
static string MyField = "ParentField";
public virtual string DoSomething()
{
return MyField;
}
}
class Child : Parent
{
static new string MyField = "ChildField";
}
现在我希望能够在以下两个做:
Console.WriteLine(Parent.MyField);
Console.WriteLine(Child.MyField);
这些工作正如所料,但我也想做到这一点:
Child c = new Child();
Console.WriteLine(c.DoSomething());
由于DoSomething的()没有针对儿童类中定义的,它的家长的MyField被返回,但我想要的是孩子的MyField。
所以我的问题是:有什么办法可以做到这一点?
注意:覆盖Child类中的方法是一个选项,但由于我将有大量从Parent继承的Child类,并且方法应该在所有方法中都做同样的事情,所以更改此方法中的某些内容带来很多麻烦。
孩子是否从父母继承?它似乎暗示但未在代码示例中显示。 – 2010-03-10 20:19:00
是的,对不起,我错过了。编辑。 – 2010-03-10 20:33:32