比方说,我有一个泛型类:使用泛型类型的超类的泛型方法?
public class MyGenericClass<T> {
...
}
现在这个班级里面,我想有一个方法可以让我与其他一般的互动,这可能是通用型T
或T
任何超类,例如:
public void DoSomething<T1>(List<T1> things)
where T : T1 // of course this won't compile
{
...
}
你会如何做到这一点?
有趣的是,因为约束'where T1:T'被允许。任何想法为什么OPs约束不被允许? –
@mikez:是的--OP的约束在'T'上,它不是该方法的类型参数。在我的方法中,两个类型约束同时引入,因此您可以基于另一个约束一个约束。 –
+1嘿乔恩,谢谢你的回答。只是觉得你想要一个ping来看看我想出的替代答案。 –