无法重复使用基础成员

时间:2018-01-15 18:31:19

标签: c#

以下是我的代码段。 我需要的是我想在多个派生类中重用基类的成员。 但是我得到了错误 我在这里做错了什么?

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;
}

2 个答案:

答案 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;
}