我無法在派生類中訪問i
。 m.i
不起作用。爲什麼?無法在派生類中訪問變量
public class MyClass
{
protected int i;
public MyClass()
{
}
public virtual void Display()
{
Console.WriteLine("Base dis");
}
}
public class MyCla : MyClass
{
public MyCla()
{
}
int ij = 12;
public new void Display()
{
MyClass m = new MyClass();
// m.i is inaccessible here
Console.WriteLine("Derived dis");
}
}
護理解釋downvote? – 2014-09-23 09:13:22
@Default OP在派生類中的方法中對MyClass進行了類型化,而不是MyCla。 – Kapol 2014-09-23 09:26:06
@PatrickHofman:對不起,這對我的想法看起來不合邏輯(不是你學到的東西,而是這種程序邏輯思想)。直到5年的編程日期爲止,我的假設是我可以這樣訪問它,這就是Protected的含義。但奇怪的是,受保護訪問的定義和它的行爲看起來相差180度。 – Learner 2014-09-23 09:42:50