有参构造函数的类常常

11 浏览
0 Comments

有参构造函数的类常常

这个问题已经有了答案:

可能是重复问题:

定义构造函数签名的接口?

我可以在接口中声明方法和属性,并强制实现它的类来实现这些方法和属性。

类似地,是否可以强制规定,所有实现特定接口的类都应该始终具有带参数的构造函数?

我不确定这是否可能。只是一个想法。

谢谢

admin 更改状态以发布 2023年5月24日
0
0 Comments

不,但是如果您的目标是规范接口实例的构造方式,则可以定义另一个接口作为第一个接口实例的工厂。在工厂接口中,您可以强制实施所需的构造参数。

interface IFoo
{
    ...
}
interface IFooFactory
{
    IFoo CreateFoo(string param1, string param2)
}

0
0 Comments

同样,是否可以强制规定实现特定接口的所有类必须始终具有参数化构造函数?

不可以,不能通过接口声明来实现。

相反,可以创建一个抽象类并在其中定义一个参数化构造函数,所有实现该抽象类的类型都会继承该构造函数,并能够使用base关键字进行链接。注意,这不会阻止您从实现没有参数的构造函数的类型继承。

0