想象一下,我有一个指定一些集合处理程序的接口:
interface ICollectionHandler<T> where T : new() { ... }
然后我有同样的其他类需要一个集合处理程序,它将用于各种类型,所以我想做类似的事情:
class SomeClass<T> where T : ICollectionHandler<> ...
但是,如果我这样做,我会收到一条错误消息,指出“缺少类型参数”。
那么有没有办法指定 T 是一个泛型类型,它自己的类型参数可以在运行时指定,或者我是否将 C# 推到了它的(可能是明智的)边界之外?