我想在C#中這樣寫:C#非常動態調用
SomeUnknownType x;
SuperDuperInvoke(x, "MethodName", param1, param2, param3);
SuperDuperInvoke2(x, "MethodName", "param1String", "param2String", "param3String");
得到一些對象我什麼都不知道,一個方法名和參數列表,並調用方法。 SuperDuperInvoke2
假定參數可以從字符串轉換。
我認爲這樣的事情是可能使用動態框架......我只是找不到如何...
我知道我可以用反射做到這一點,但它的醜陋和討厭...
我會解釋一下自己。
我想用它來進行一些業務服務器的集成測試。 服務器有很多不同的組件可以處理請求,所有組件都被加載到一個IoC容器中。 我需要公開一些thees組件,主要是爲了測試,所以我只想接收組件的名稱,我應該用什麼參數調用什麼方法,然後調用它。
這看起來像是反射的東西,但我不認爲動態會解決這個問題。讓我們等待一個答案,證明我錯了,所以也許我也學到了一些東西:) – 2012-01-12 13:46:12
你有什麼可能的原因想要做到這一點? – cadrell0 2012-01-12 13:46:44
目前還不清楚你的目標是什麼......可能你需要解決.NET中的動態類型問題,也可以查看OptionalAttribute類...(http://msdn.microsoft.com/zh-cn/library /dd264736.aspx) – 2012-01-12 13:47:54