0
在C#中我有一個函數接受<T>
。目前我正在使用Activator.CreateInstance<T>()
創建一個實例。以編程方式檢測類參數
有沒有辦法在運行時檢測<T>
的參數,所以我可以用參數創建<T>
?
方法存根象下面這樣:
public static T Get<T>()
{
}
在C#中我有一個函數接受<T>
。目前我正在使用Activator.CreateInstance<T>()
創建一個實例。以編程方式檢測類參數
有沒有辦法在運行時檢測<T>
的參數,所以我可以用參數創建<T>
?
方法存根象下面這樣:
public static T Get<T>()
{
}
你需要記住,任何特定類型可以有多個構造函數來承擔。你可以找到他們足夠容易,但:
var constructors = typeof(T).GetConstructors();
注意Type.GetConstructors
具有過載服用,以防BindingFlags
你想找到非公共構造函數。
非常感謝,我的自定義依賴注入容器現在已經完成。 – 2012-08-06 08:04:37
真的不清楚你的意思是「接受'''的函數」。你當然可以找到一個類型的各種構造函數的一部分的參數,但你仍然需要這些參數的值... –
2012-08-05 20:38:32
我已經知道我將如何獲取值,我簡單隻需要知道它將需要的值的類型。編輯我的問題以顯示功能存根。 – 2012-08-05 20:39:49