我可以在接口中声明方法和属性,并强制实现它的类来实现这些方法和属性。 同样可以强加一个规则,使我实现某个接口的所有类都应该有一个参数化的构造函数吗?
我不确定这是否可行。只是一个想法。
由于
答案 0 :(得分:4)
同样可以强加一个规则,使我实现某个接口的所有类都应该有一个参数化的构造函数吗?
不,不是通过接口声明。
您可以创建一个抽象类,它可以有一个参数化构造函数 - 所有实现类型都将继承构造函数,并且能够使用base
关键字链接到它。请注意,这不会阻止您从实现无参数构造函数继承类型。
答案 1 :(得分:1)
不,但如果您的目标是规范化接口实例的构建方式,请定义另一个接口,该接口是第一个接口的实例。在工厂界面中,您可以施加所需的构造参数。
interface IFoo
{
...
}
interface IFooFactory
{
IFoo CreateFoo(string param1, string param2)
}
答案 2 :(得分:0)
一个类有构造函数和接口不能。因此,您不能强制实现某个接口的类具有参数化的构造函数
但是你可以拥有一个带有多个构造函数的类,它的子代可以选择他们想要使用的构造函数