我有一个方法来调用服务并返回一个响应对象。我需要响应对象中的一些数据。我可以像响应后,通过具有点可以访问他们:获得价值
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