我无法在派生类中访问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