我有一个名为 MyGeneralClass 的通用类:

public MyGeneralClass<T> {

public List<T> Data {get; set;}

}

我还有另一种方法需要使用它:
public void GetData(Type type) {



}

我像这样使用 GetData:
GetData(typeof(MyGeneralClass<person>));

所以我的问题是,如何在 T 方法中找到 person 的类型(在本例中为 GetData ),我无法更改 GetData 的参数,但我可以更改它的实现。有没有人对此有任何想法?

最佳答案

通过反射:

if(type.IsGenericType &&
     type.GetGenericTypeDefinition() == typeof(MyGeneralClass<>))
{
   Type firstArg = type.GetGenericArguments()[0];
}

关于c# - 获取 class<T> 的通用类型 use Type of Type,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9157021/

10-12 15:28