我想以不同的方式訪問子類中的受保護的成員變量。我發現我不能通過使用父類對象的子類的對象引用來實現。這裏我指的是下面程序中的「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