我有一個非泛型靜態方法的泛型類,它對所討論的類型執行一些操作。使用反射調用通用類的靜態方法
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