第一個問題是,如何獲取存儲在變量中的對象的類型?一般來說,我們這樣做:如何使用C#訪問WCF服務中定義的自定義屬性?
Type t = typeof(ClassName); //if I know the class
,但是,我怎麼能說一句:
Type t = typeof(varClassName); //if the class name is stored in a variable
第二個問題,更廣闊的畫面,我有一個包含一個DataContract類說「MyClass的」我的WCF服務已經定義了一個名爲「MyAttribute」的自定義屬性。有一種方法稱爲「GetDataUsingDataContract」,其類型爲MyClass。現在在客戶端上,我調用了web服務。我使用MethodInfo和ParameterInfo類來獲取有關方法的參數。但是,我怎樣才能訪問實際上是Myclass類的方法參數的屬性呢?這裏是我試過的代碼:
MyService.Service1Client client = new MyService.Service1Client();
Type t = typeof(MyService.Service1Client);
MethodInfo members = t.GetMethod("GetDataUsingDataContract");
ParameterInfo[] parameters = members.GetParameters();
foreach (var parameter in parameters)
{
MemberInfo mi = parameter.ParameterType; //Not sure if this the way
object[] attributes;
attributes = mi.GetCustomAttributes(true);
}
上面的代碼不會檢索我的自定義屬性「MyAttribute」。我在同一個項目中定義的類中嘗試了這個概念,它的工作原理。請幫忙!
在生產中我其實在飛行中創建代理(動態):/ /.../xyzService.svc)。我沒有服務項目。這是由第三方(另一組)提供的服務。在那種情況下,我怎樣才能配置? – 2011-01-05 19:11:14