我不知道这是否可行。但是我在我的项目中有一个类,它将继承许多次,让我们称这个类为父类:
public abstract class Parent
{
protected object[] parameters;
protected int other, useful, inherited, variables;
public Parent(params object[] plist)
{
parameters = plist;
Action();
}
abstract protected void Action();
}
现在,对于每个继承的子进程,构造函数将完全相同:一个参数列表就像父进程一样,它所做的只是将这个列表传递给基础构造函数,如下所示:
public class Child : Parent
{
public Child(params object[] plist) : base(plist) { } // <---- HERE
override protected void Action()
{
string aParameter = (string)parameters[0];
Console.WriteLine("Hello " + aParameter);
}
}
我想要做的是避免写下标有&#34; HERE&#34;每个孩子班(会有很多)。理想情况下,能够使用某种模板来编写许多子代,程序员(我,其他人)不必重复指定构造函数。
有更好的方法吗?也许我需要的是一种不同的方法。所有我真正想要的&#34;孩子&#34;要做的类是每次都覆盖一个函数,并且能够尽可能紧凑地编写,几乎就像Parent实际上只是某种模板一样。
编辑:在人们将此标记为重复并关闭之前(因为它似乎答案为否)。我也在问我是否有另一种方法,我不知道。例如,也许我使用类和继承的方法是错误的,而我需要_______?可能是它不是父类和子类,而是模板等