Laz*_*zlo 2 c# double inheritance class
这是我目前的布局:(问题是评论)
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
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我无法A
通过base
在C中使用来访问成员.我如何访问它?谢谢 :)
如果你保护foo,
class A
{
protected int foo;
}
Run Code Online (Sandbox Code Playgroud)
然后一个简单的基地会做:
void bar()
{
//I want to access foo
base.foo; // will work now
// base.base.foo // Doesn't work, of course
}
Run Code Online (Sandbox Code Playgroud)
但是围绕foo构建一个(受保护的)属性会更好:
class A
{
private int _foo;
protected int Foo
{
get { return _foo; }
set { _foo = value; }
}
}
Run Code Online (Sandbox Code Playgroud)