2
類
我有以下靜態類傳遞類型變量作爲一般類型參數爲靜態
public static class MyFoo<T> where T : class
{
public static IBar<T> Begin()
{
return new Bar<T>();
}
}
在其他地方,我有System.Type的,這是我需要在通過如通用類型參數的變量,理想地:
public void MyFunction(Type type)
{
MyFoo<type>.Begin();
}
我知道它可能通過反射返回一個MyFoo的實例(如果我使它非靜態),但這不會是理想的。無論如何將類型作爲泛型類型參數傳遞給MyFoo靜態類?
首先,如果你使它不是靜態的,你不需要反射,你可以強制一個無參數的構造函數,在'T'上有一個通用約束。其次,你想在這裏解決什麼問題?爲什麼不是T的一個參數MyFunction(它可以推斷爲你) –
看到這篇文章http://stackoverflow.com/questions/5858591/c-sharp-static-types-cannot-be-used-as-type - 參數 – Sorceri
謝謝你回到我身邊。 @BenjaminGruenbaum不幸的是,我不能透露太多,但如果可能的話,這對我來說是最有利的,這樣可以爲我自己節約很多時間,形成我繼承的東西。我將解除這種情況!謝謝。 – EverythingGeek