是否有可能使抽象方法的参数列表具有可覆盖的长度和类型?

sim*_*005 8 c# parameters methods overriding

是否可以创建如下所示的基类:

 public abstract class baseClass
{
     public abstract void SetParameters(/*want this to be adjustable*/);
}
Run Code Online (Sandbox Code Playgroud)

以便覆盖它的类可以定义所需的参数?换句话说,我想强制重写该方法,但是将它留给覆盖类,这里需要什么 - 所以可能是

 public class derivedClass1 : baseClass
{
     public override void SetParameters(Point a, int b);
}
Run Code Online (Sandbox Code Playgroud)

而另一个可能是

 public class derivedClass2 : baseClass
{
     public override void SetParameters(List<Line> a, Point b, Point c, bool e);
}
Run Code Online (Sandbox Code Playgroud)

谢谢你提供的所有帮助

Jon*_*eet 10

绝对不是 - 这将首先打破抽象方法的一半 - 没有人能够调用它,因为他们不知道实际写了哪个方法签名.抽象类的重点是客户端可以具有类型的引用,BaseClass而无需关心实际实现的类型.

如果基类是能够提前哪些类型可能涉及到预测,一种可能性,使生活更轻松的调用者有最普遍的签名(通常是一个最参数)的抽象,使其中各种重载调用该general one为客户端未指定的参数提供默认值.