서비스를 호출하고 응답 객체를 반환하는 메소드가 있습니다. 응답 개체에 일부 데이터가 필요합니다. 내가 좋아하는 응답 후 점을함으로써 그들에 액세스 할 수 있습니다 :값에 대한 액세스 얻기
CVAResponse response = new CVAResponse();
response = dataExchange.AddOrder(Username, Password, order);
OrderId= response.Data;
가 나는 자신의 가치를 필요로 응답 객체의 일부 필드는 그들이 사용하여 액세스 할 수 없습니다 (응답 점)과 그들이 응답의 루트에없는 디버그 중에 응답 객체를 볼 때도 마찬가지입니다.
-base
내가 그에 액세스 할 수있는 방법을
BookClassLibrary.DataService.CVAOrderResponse : 그들은 같은이 이름 공간과 기지 내부에? (I는 응답 객체 후 점을 시도했지만이없는 그런이 일)에 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.
은 다음과 같은 반사를 사용하여 해결할 수 있습니다 :이 나에게 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(); }
.
var prop = response.GetType.GetProperties(BindingFlags.NonPublic | BindingFlags.Instance); foreach (var prop in props) { prop.GetValue(response, null); }
또는이 당신에게 모든 비공개 속성을 얻을 것이다
GetProperty("Name", <bindings>);
사용
부분 클래스입니다. 아마도 당신이 찾고있는 정의는 이것과 일치하는 * other * 부분 클래스에 있습니다. –
오 고마워, 나는 결코 눈치 채지 못했다. 나는 나의 질문에 도움이 될 다른 반을 가지고있다. – Alma
디버그의 기본 메소드가 기본 클래스를 표시하지 않습니다 – Sayse