Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 声明一个基类方法,该方法可以在子类中接受任意类型的参数_C#_Initialization - Fatal编程技术网

C# 声明一个基类方法,该方法可以在子类中接受任意类型的参数

C# 声明一个基类方法,该方法可以在子类中接受任意类型的参数,c#,initialization,C#,Initialization,在C# 我正在设计一个基类(不能为此使用构造函数),我想强制任何继承类实现一个方法来初始化它们各自的对象。我可以预期,它们的初始化方法可能会采用任意数量和类型的参数 我如何在基中声明这个抽象方法,以便子对象可以实现它的任何参数化变体?如果不可能,你能建议一个替代方案吗?多谢各位 更新的细节:基类应该是抽象的,我需要一个方法来充当构造函数(但我不能使用构造函数)。子类需要一种初始化自身的方法,我希望用我自己的(抽象?)方法强制实现,我认为可以在基类中尝试此代码 public abstract v

在C#

我正在设计一个基类(不能为此使用构造函数),我想强制任何继承类实现一个方法来初始化它们各自的对象。我可以预期,它们的初始化方法可能会采用任意数量和类型的参数

我如何在基中声明这个抽象方法,以便子对象可以实现它的任何参数化变体?如果不可能,你能建议一个替代方案吗?多谢各位


更新的细节:基类应该是抽象的,我需要一个方法来充当构造函数(但我不能使用构造函数)。子类需要一种初始化自身的方法,我希望用我自己的(抽象?)方法强制实现,我认为可以在基类中尝试此代码

 public abstract void Test(params object[] list);
现在它将强制在子类中声明方法

希望对您有所帮助。

此外,您可以使用显式隐藏相同名称的方法、字段等。。。派生类的


.NET framework 4.0提供可选参数和名称参数来处理各种类型的参数

是否需要派生类来实现此方法中的一种且仅此一种?理想情况下是的,如果没有数量限制则更好;-)你为什么要这个?谁会称之为这种方法?只有实现它的对象,还是希望基类从它的构造函数调用它?如果只有实现对象在调用它,那么从基类强制执行某个名称为的方法是很奇怪的(这不能保证它已经被执行)。如果要从基类调用它,则基类需要一个预定义的方法,该方法包含它所知道的参数(或对象[])。添加“您试图解决什么问题”可能有助于获得好的答案。基类应该是抽象的,我需要一个方法作为构造函数(但我不能使用构造函数)。子类需要一种方法来初始化自己,我希望用我自己的(抽象?)方法强制实现。谢谢你的建议,这是一个可行的选择。我希望有一些东西不会强迫孩子们投下整个名单。