C # acessando membro protegido na classe derivada [duplicado]
Esta questão já tem uma resposta aqui:
Por que não consigo acessar membros protegidos pelo C # exceto assim? 7 respostasEu escrevi o seguinte código:
public class A
{
protected string Howdy = "Howdy!";
}
public class B : A
{
public void CallHowdy()
{
A a = new A();
Console.WriteLine(a.Howdy);
}
}
Agora emVS2010
isso resulta no seguinte erro de compilação:
Não é possível acessar o membro protegido 'A.a' por meio de um qualificador do tipo 'A'; o qualificador deve ser do tipo 'B' (ou derivado dele).
Isso parece bastante ilógico para mim - por que não consigo acessar oprotected
campo da instância de classe de um método da classe, que é derivado dele?
Assim,Por que isso acontece?
Encontrou uma resposta estrita - http://blogs.msdn.com/b/ericlippert/archive/2005/11/09/491031.aspx