【发布时间】:2008-10-02 07:42:04
【问题描述】:
有没有办法强制(子)类在 C# 或 Java 中具有具有特定签名或特定静态方法的构造函数?
您显然不能为此使用接口,而且我知道它的用途有限。我发现它很有用的一个例子是当你想强制执行一些设计准则时,例如:
例外情况
它们都应该有四个规范的构造函数,但是没有办法强制执行。您必须依靠像 FxCop(C# 案例)这样的工具来捕获这些。
运营商
没有约定可以对两个类求和(在 C# 中使用 operator+)
是否有任何设计模式可以解决这个限制? 在未来的 C# 或 Java 版本中,可以向 语言 添加什么结构来克服这个限制?
【问题讨论】:
-
我认为这不是特定于 C# 的。 IIRC 甚至 Java 也不允许抽象静态方法。
标签: c# java oop language-features language-design