题
下面是我的当前布局:(问题是注释)
class A
{
int foo;
}
class B : A {}
class C : B
{
void bar()
{
//I want to access foo
base.foo; // Doesn't work
base.base.foo // Doesn't work, of course
}
}
正如你所看到的,我不能用在C A
我怎么能访问它访问base
的成员?感谢:)
解决方案
如果你让富保护,
class A
{
protected int foo;
}
然后简单基地将做:
void bar()
{
//I want to access foo
base.foo; // will work now
// base.base.foo // Doesn't work, of course
}
但它会更好地建立一个围绕一个foo的(保护)属性:
class A
{
private int _foo;
protected int Foo
{
get { return _foo; }
set { _foo = value; }
}
}
其他提示
A中的字段声明私人。应当保护的派生类来访问它。
把公共在INT FOO的前面;
class A
{
public int foo;
}
class B : A {}
class C : B
{
void bar()
{
//I want to access foo
base.foo; // Now you can see it
}
}
默认情况下,除非你指定,否则所有成员都是私有的。
不隶属于 StackOverflow