gpt4 book ai didi

c# - 你如何强制构造函数签名和静态方法?

转载 作者:IT老高 更新时间:2023-10-28 20:28:30 27 4
gpt4 key购买 nike

有没有办法强制(子)类在 C# 或 Java 中具有具有特定签名或特定静态方法的构造函数?

您显然不能为此使用接口(interface),而且我知道它的用途有限。我发现它很有用的一个例子是当你想强制执行一些设计准则时,例如:

异常(exception)情况
它们都应该有四个规范的构造函数,但是没有办法强制执行。您必须依靠像 FxCop(C# 案例)这样的工具来捕捉这些。

运营商
没有约定可以对两个类求和(在 C# 中使用 operator+)

是否有任何设计模式可以解决此限制?在未来的 C# 或 Java 版本中,可以向 语言 添加什么结构来克服这个限制?

最佳答案

使用泛型,您可以强制类型参数具有无参数构造函数 - 但这就是它的限制。

除了泛型之外,即使存在这些限制,实际使用这些限制也会很棘手,但它有时对类型参数/参数很有用。在接口(interface)(或可能是静态接口(interface))中允许静态成员同样有助于解决“通用数字运算符”问题。

wrote about this不久前遇到类似问题时。

关于c# - 你如何强制构造函数签名和静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/161231/

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