2016-02-16 59 views
0

我有泛型類Wrapper<T>。我需要在運行時爲構造函數和類型設置參數。 不帶參數如何設置類型構造我現在:在運行時設置通用類的類型和參數

Activator.CreateInstance(typeof(Wrapper<>).MakeGenericType(obj.GetType())) 

幫我訂的類型和參數。例如對於具有兩個對象的構造函數。

+3

目前尚不清楚你所說的「設置類型和參數」的意思。你有代碼來獲得適當的'Type' ......你如何傳遞參數給構造函數將會是相同的,無論它是否是泛型類型。所以我建議你研究一下這個部分,然後嘗試將這兩部分結合起來,如果卡住了,就會顯示一個[mcve]的問題。 –

+0

對不起,有點不清楚。正如目前所寫,很難確切地告訴你要問什麼 – Marusyk

回答

1

使用CreateInstance(Type type, params object[] args)超載:

Activator.CreateInstance(typeof(Wrapper<>).MakeGenericType(obj.GetType()), param1, param2) 
+0

謝謝。是工作!) –