我想以不同的方式访问子类中的受保护的成员变量。我发现我不能通过使用父类对象的子类的对象引用来实现。这里我指的是下面程序中的“int Number6”。要访问子类中的父类的受保护的字段
但是我可以访问公共的“int Number7”。我想知道背后的原因。
public class Customer
{
#region Fields
protected int Number2;
protected int Number3;
protected int Number4;
protected int Number5;
protected int Number6;
public int Number7;
#endregion
}
public class CorporateCustomer : Customer
{
public void PrintID()
{
CorporateCustomer CC = new CorporateCustomer();
CC.Number2 = 101;
base.Number3 = 103;
this.Number4 = 104;
Customer C2 = new CorporateCustomer();
C2.Number6 = 106; //-> Not Possible to access protected Number6 by this way
C2.Number7 = 105; //-> However, can access public field
}
}
可能的重复[为什么我不能访问C#保护的成员,除了这样?](http://stackoverflow.com/questions/567705/why-cant-i-access-c-sharp-protected - 成员-除了样本) – Marwie 2015-02-05 16:33:22