找不到方法,我开始认为这是不可能的,但以防万一我会在这里问。
用代码更好地解释..
我有这个通用类定义,我希望能够访问List
's 类型参数,以便我可以定义一个GenericClassOfGenericType
接受字符串的方法(取自列表的类型参数)
//class definition
public class GenericClassOfGenericType<TGeneric>{ }
var instance = new GenericClassOfGenericType<List<string>>();
我尝试过类似的东西;
public class GenericClassOfGenericType<TGeneric<TValue>> {
public void ProxyAdd(TValue value){ }
}
但这不起作用,在谷歌上找不到类似的东西。
我可以GenericClassOfGenericType
在构造函数中添加第二个类型定义和一个验证器,以确保泛型列表具有第二个类型作为类型参数,但它感觉一点也不好。
[编辑] 也找不到强制您将泛型类型分配为参数的约束(这是有道理的,因为泛型也是强类型的,但这让我认为这是不可能的)。