我有一个通用类:
public class Temp<T, U>
{
}
我想在T,U上应用类型约束。问题是:我想用作参数的类型(实际上,接口IFoo1,IFoo2,IFoo3,IFoo4)没有任何共同之处。我可以创建一些基本接口IFoo并应用约束:
public class Temp<T, U> where T : IFoo
{
}
但据说这是一个空的界面是不好的。您对如何以适当的方式制定约束有任何建议吗?
答案 0 :(得分:2)
这样做的唯一方法是声明两个类:
public class Temp<T, U> where T : IFoo1
{
}
public class Temp<T, U> where T : IFoo2
{
}
但是我觉得你的基本界面会更好(这不是很糟糕,我以前从未听过这个。空的'标记接口'并不是那么罕见......)