【发布时间】:2012-06-14 19:37:27
【问题描述】:
所以这两个方法具有相同的签名但不同的约束
public static void Method<T>(ref T variable) where T : struct { }
public static void Method<T>(ref T variable) where T : class { }
但它们不能在单个类中定义,因为它们具有相同的签名。但在这种特殊情况下,它们是相互排斥的。 (除非我错了)
我知道您可以在 class 和 struct 之外添加其他约束,但您不能在同一方法上同时指定 struct 和 class。那么为什么会编译失败呢?
【问题讨论】:
-
你自己说的,因为他们有相同的签名。
-
您有解决方法吗,因为如果您需要,我已经想到了一个。
-
@AnthonyPegram 谢谢,这是我不知道的。
-
@johnnyGold 不,我不需要解决问题,但这只是我们在工作中遇到的一些事情,我觉得很有趣并想在这里问它:)
标签: c#