我有1个抽象类正在调用一个静态方法,到目前为止,该方法不需要任何参数。这最近改变了。实际上,静态方法存在于另一个类中,并设置BaseMessageDirectory的值,但是在下面的示例中,我简化了操作……

因此,现在我想以某种方式创建派生类,以便它们可以在继承期间初始化父类中的某些必需属性,这可能吗?

例如....

 public abstract class ParentClass
    {
          protected string BaseMessageDirectory;

          protected ParentClass(EnumOperationType operationType)
             {
                if(operationtype == 1)
                  {
                     BaseMessageDirectory = "one";
                  }
                else
                  {
                     BaseMessageDirectory = "two";
                  }
             }
    }

最佳答案

是的,您可以定义一个构造函数,所有子类都必须调用它:

public class Child : ParentClass
{
    public Child() : base(EnumOperationType.One) { ... }
}

关于c# - C#可能在抽象类中具有构造函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2092634/

10-13 06:38