在C#中使用抽象子类的基类?

Kri*_*oks 2 c# oop abstract

public abstract class Request
{
   public class Parameters
   {
       //Threre are no members here
       //But there should be in inherited classes
   }

   public Request()
   {
       parameters = new Parameters();
   }

   public Parameters parameters;
}
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 我怎么做到这样我可以添加东西给构造函数但原始构造函数仍然会被执行?

  2. 如何使子类可以将成员添加到Parameters类?

Geo*_*uer 7

如果你正在做我认为你的事情,你将不得不稍微改变你的构造函数:

public Request(Parameters parameters) {
  this.Parameters = parameters;
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

public class SpecificRequest : Request {
  public class SpecificRequestParameters : Request.Parameters {
  }
  public SpecificRequest() : base(new SpecificRequestParameters()) {
    //More stuff here
  }
}
Run Code Online (Sandbox Code Playgroud)

您要解决的具体问题是什么?你在这里做的事情看起来相当尴尬和过于复杂.