說我有下面的代碼:訪問一個孩子的靜態屬性在父類的方法
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