有沒有一種方法可以調用只有在運行時才知道類型的泛型函數?C#更簡單的運行時泛型
我試着這樣做:
static void bar()
{
object b = 6;
string c = foo<typeof(b)>();
}
static string foo<T>()
{
return typeof (T).Name;
}
基本上我想只在運行時類型參數決定,但我打電話的功能取決於類型參數。
而且我知道這可以用反射來完成......但它不是最好的解決問題的方法...
我有點期待在C#中的動態功能...
我扭動着兩個班的第一個之間的橋樑基本上是一棵大樹與不同類型的對象(通過接口複合),另一個是一個不大不小的「超級先生」的。 晚飯遊客接受鍵值dictioneries映射類型的對象,它看起來像: dic.Add(對象的值)
和T不一定是值的類型......很多時候它不是」的... 我知道它寫得不好,但我不能修復它... 我可以解決它,但只在運行時...
我已經與思考做的,但如果有一個更好的方式做它沒有他們我會很樂意學習...
謝謝
+1我沒有找到一種方法來做到這一點使用動態。 事情是,即時通訊沒有傳遞類型T的參數給我的foo函數......有沒有辦法用動態來解決這個問題? –
不需要。如果您實際上沒有將b作爲參數傳遞,則需要反射。如果您提供了更多關於您真正想要做什麼的細節,那麼爲您提供解決方案會更容易。上面的類型(b).Name很容易做到這一點,所以顯然不是你在做什麼。 – chuckj
編輯我的問題... –