class X<T>
where T : EventArgs
{
}
class X<T>
where T:Exception
{
}
在C#中?
答案 0 :(得分:1)
您不能对通用约束使用相同的类名。
您可以使用基类作为约束,但约束则意味着您只能使用派生类 - 在您的示例中,只使用在第一个示例中派生自EventArgs
的类和从{{1派生的派生类}} 在第二。
有关类型参数的约束,请参阅documentation。
答案 1 :(得分:0)
不,因为这两个类的名称相同。
你想做什么?
答案 2 :(得分:0)
如果您指的是同一名称空间中具有不同泛型类型参数的同名的2个类 - 那么否,则不能!
where 子句中只能有一个类。你可以使用
System.Runtime.InteropServices._Exception
接受例外的接口(虽然这将是一个丑陋的黑客)。
如果将它们放在不同的命名空间中,则可以。