Acessando uma propriedade estática de um filho em um método pai
Digamos que eu tenha o seguinte código:
class Parent
{
static string MyField = "ParentField";
public virtual string DoSomething()
{
return MyField;
}
}
class Child : Parent
{
static new string MyField = "ChildField";
}
Agora eu quero poder fazer o seguinte:
Console.WriteLine(Parent.MyField);
Console.WriteLine(Child.MyField);
Eles funcionam como esperado, mas eu também gostaria de fazer isso:
Child c = new Child();
Console.WriteLine(c.DoSomething());
Como DoSomething () não está definido para a classe Child, é o MyField do pai que é retornado, mas o que eu quero é o MyField do Child.
Então, minha pergunta é: existe alguma maneira de fazer isso?
NOTA: Substituir o método na classe Child é uma opção, mas como terei muitas classes Child herdadas do Parent e o método deve fazer o mesmo em todas elas, alterar alguma coisa nesse método traria muitas problema.