我有一個方法來調用服務並返回一個響應對象。我需要響應對象中的一些數據。我可以像響應後,通過具有點可以訪問他們:獲得價值
CVAResponse response = new CVAResponse();
response = dataExchange.AddOrder(Username, Password, order);
OrderId= response.Data;
有響應對象某些領域,我需要他們的價值,他們用不可訪問(響應點),他們是不會響應的根當我在調試期間查看響應對象時也是如此。他們是這個名字空間和基地內等:
BookClassLibrary.DataService.CVAOrderResponse
鹼基
我怎樣才能獲得呢? (我試過點響應對象後,但沒有這樣的這件事情)
的CVAResponse類是由另一家公司寫的,當我去定義,是我唯一看到:
public partial class CVAResponse : object,System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string DataField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string ErrorMessageField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private BlueBookClassLibrary.DataExchangeService.eCVAResponseStatus StatusField;
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string TicketIdField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
而且我有這個部分類:
public partial class CVAOrderResponse : BlueBookClassLibrary.DataExchangeService.CVAResponse {
[System.Runtime.Serialization.OptionalFieldAttribute()]
private string XMLDataField;
[System.Runtime.Serialization.DataMemberAttribute()]
public string XMLData {
get {
return this.XMLDataField;
}
set {
if ((object.ReferenceEquals(this.XMLDataField, value) != true)) {
this.XMLDataField = value;
this.RaisePropertyChanged("XMLData");
}
}
}
}
我需要一個XMLDataField的值。或XMLData。
它可以通過使用反射如下解決:
var properties = response2.GetType().GetProperties();
foreach (var property in properties)
{
string name = property.Name;
object value= property.GetValue(response2, null);
if (name == "XMLData")
xml = value.ToString();
}
這加瓦我XMLDATA值。
它說它是一個部分類。也許你正在尋找的定義位於與其匹配的* other * partial類中。 –
哦,謝謝,我從來沒有注意到:我有另一個類可以幫助我的問題。 – Alma
基於調試不是一種方法,它顯示基類 – Sayse