2012-08-05 86 views
0

在C#中我有一個函數接受<T>。目前我正在使用Activator.CreateInstance<T>()創建一個實例。以編程方式檢測類參數

有沒有辦法在運行時檢測<T>的參數,所以我可以用參數創建<T>

方法存根象下面這樣:

public static T Get<T>() 
{ 
} 
+0

真的不清楚你的意思是「接受'''的函數」。你當然可以找到一個類型的各種構造函數的一部分的參數,但你仍然需要這些參數的值... – 2012-08-05 20:38:32

+0

我已經知道我將如何獲取值,我簡單隻需要知道它將需要的值的類型。編輯我的問題以顯示功能存根。 – 2012-08-05 20:39:49

回答

1

你需要記住,任何特定類型可以有多個構造函數來承擔。你可以找到他們足夠容易,但:

var constructors = typeof(T).GetConstructors(); 

注意Type.GetConstructors具有過載服用,以防BindingFlags你想找到非公共構造函數。

+0

非常感謝,我的自定義依賴注入容器現在已經完成。 – 2012-08-06 08:04:37

相關問題