模板类型约束和空接口

时间:2013-12-26 12:37:25

标签: c# generics interface

我有一个通用类:

public class Temp<T, U>
{

}

我想在T,U上应用类型约束。问题是:我想用作参数的类型(实际上,接口IFoo1,IFoo2,IFoo3,IFoo4)没有任何共同之处。我可以创建一些基本接口IFoo并应用约束:

public class Temp<T, U> where T : IFoo
{

}

但据说这是一个空的界面是不好的。您对如何以适当的方式制定约束有任何建议吗?

1 个答案:

答案 0 :(得分:2)

这样做的唯一方法是声明两个类:

public class Temp<T, U> where T : IFoo1
 {

 }

public class Temp<T, U> where T : IFoo2
 {

 }

但是我觉得你的基本界面会更好(这不是很糟糕,我以前从未听过这个。空的'标记接口'并不是那么罕见......)

相关问题