可能重复:
定义构造函数签名的接口?
我可以在接口中声明方法和属性,并强制实现它的类来实现这些方法和属性。同样,是否可以强加一个规则,使我所有实现某个接口的类都应该始终具有参数化构造函数?
我不确定这是否可能。只是一个想法。
谢谢
可能重复:
定义构造函数签名的接口?
我可以在接口中声明方法和属性,并强制实现它的类来实现这些方法和属性。同样,是否可以强加一个规则,使我所有实现某个接口的类都应该始终具有参数化构造函数?
我不确定这是否可能。只是一个想法。
谢谢
同样,是否可以强加一个规则,使我所有实现某个接口的类都应该始终具有参数化构造函数?
不,不是通过接口声明。
你可以创建一个抽象类,它可以有一个参数化的构造函数——所有实现类型都将继承构造函数,并且能够使用base
关键字链接到它。请注意,这不会阻止您从实现无参数构造函数中继承类型。
不,但是如果您的目标是规范接口实例的构造方式,请定义另一个接口,它是第一个实例的工厂。在工厂界面中,您可以强加所需的构造参数。
interface IFoo
{
...
}
interface IFooFactory
{
IFoo CreateFoo(string param1, string param2)
}
A class have contructor and interface cannot. So you cannot in force classes that implement certain interface to have a parameterised contructor
But you can have a class with a multiple constructors and its children can have a choice which constructor they want to use