以下是我的代码段。 我需要的是我想在多个派生类中重用基类的成员。 但是我得到了错误 我在这里做错了什么?
public class A
{
public int Num1;
public int Num2;
public int Num3;
public int Num4;
}
public class B:A { // As it is inherting from base class A it should have access to base members
//A ac = new A();
Num1 = 1; // I'm getting error this fields does not exist in current context. How can i make re-use of class A members ?
Num2 = 2;
Num3 = 3;
Num4 = 4;
}
public class C : A
{
Num1 = 1;
Num2 = 2;
Num3 = 3;
Num4 = 4;
}
答案 0 :(得分:0)
这是无效的语法。
你的意思是
public class C : A
{
public C()
{
Num1 = 1;
Num2 = 2;
Num3 = 3;
Num4 = 4;
}
}
答案 1 :(得分:-1)
如果您没有初始化它,则不应在A
中声明变量。
但你可以使A
抽象并使用属性:
public abstract class A
{
public abstract int Num1 { get; }
}
public class B:A {
public override int Num1 { get; } = 1;
}