gpt4 book ai didi

c# - 是否可以约束实现接口(interface)的类的构造函数?

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:44 25 4
gpt4 key购买 nike

是否可以设置一个约束,所有实现接口(interface)的类都必须有一个空的构造函数?像泛型中的 where T : new() 约束?

最佳答案

不 - 不可能对给定接口(interface)的派生类或实现者施加任何此类约束。

无论如何,这样的约束通常不是一个特别好的主意/有用,因为通常在使用接口(interface)时,您通常使用实现该接口(interface)的对象实例,在这种情况下,对象自然已经被创建,并且这样的约束是多余的。 (当然,泛型除外,在这种情况下,您可以使用 new() 约束)。

我的猜测是您正在尝试创建某种插件系统并希望限制插件接口(interface)的实现以具有一些可用于实例化的默认构造函数...如果是这种情况,那么通常会有更好的您可以使用的替代方案,例如 MEF .

您能否详细说明为什么您需要这个?

关于c# - 是否可以约束实现接口(interface)的类的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com