C # uzyskiwanie dostępu do chronionego elementu w klasie pochodnej [duplikat]
To pytanie ma już tutaj odpowiedź:
Dlaczego nie mogę uzyskać dostępu do chronionych członków C # poza tym? 7 odpowiedziNapisałem następujący kod:
public class A
{
protected string Howdy = "Howdy!";
}
public class B : A
{
public void CallHowdy()
{
A a = new A();
Console.WriteLine(a.Howdy);
}
}
Teraz wVS2010
powoduje to następujący błąd kompilacji:
Nie można uzyskać dostępu do chronionego elementu „A.a” za pośrednictwem kwalifikatora typu „A”; kwalifikator musi być typu „B” (lub pochodzić od niego).
Wydaje mi się to nielogiczne - dlaczego nie mogę uzyskać dostępu doprotected
pole instancji klasy z metody klasy, która z niej pochodzi?
Więc,dlaczego to się dzieje?
Znalazłem ścisłą odpowiedź - http://blogs.msdn.com/b/ericlippert/archive/2005/11/09/491031.aspx