我有一个非泛型静态方法的泛型类,它对所讨论的类型执行一些操作。使用反射调用通用类的静态方法
class MyClass<T> {
static List<T> _listOfStuff;
public static void DoX() { _listOfStuff.Clear(); }
}
而不是写下面的代码,我想使用反射和循环的泛型类型和调用DoX()。
请记住,类型列表可能会在将来增长,MyClass可以由维护此代码的程序集外部的开发人员使用。我需要一个自动化的方式来获得Type[]
阵列int
,string
,TypeX
。
MyClass<int>.DoX();
MyClass<string>.DoX();
MyClass<TypeX>.DoX();
任何帮助,将不胜感激。
你是什么意思“注册”?你为什么需要这样的清单? – svick 2012-03-11 12:23:19
我的歉意,我不确定什么是正确的术语,但不是指定一个类型,我希望能够在类运行时意识到的所有类型上调用DoX()。 – 2012-03-11 12:28:17
没有这样的事情。该类不知道任何类型。如果你想获得当前程序中曾经使用的所有类型参数,也许你想使用静态构造函数。 – svick 2012-03-11 12:31:07