我已經寫了一個類(下面的代碼片段),其中有一些數據成員,我把數據從客戶端。我應該通過Web服務發送這些數據,其中包括我的數據成員的類,但是有更多的數據成員表示我的類。不同類型的Cast對象
我應該從我的類型轉換爲另一種類型。
問題是我不知道如何訪問數據成員從中獲取數據。
我所有的數據到這個對象 「OBJ」:
__XtraInvoiceInfo OBJ = new __XtraInvoiceInfo();
和Web服務的類型是 「InvoiceWithEntriesInfo」
var convertedObj = new InvoiceWithEntriesInfo()
{
invoiceNumber = OBJ.BasicInfo.InvoiceNumber --> member is not access.
| Equals
Visual Studio suggests | GetHashCode
only these methods | GetType
| ToString
invoiceDate = OBJ.BasicInfo.InvoiceDate *--> member is not accessible
firstName = OBJ.Payer.FirstName *-->> not accessible
lastName = OBJ.Payer.LastName *-->> not accessible
catem = OBJ.Payer.Catem *-->> not accessible
};
錯誤 「成員無法訪問」 是指* - >'object'不包含'InvoiceDate'的定義,並且沒有可以找到接受'object'類型的第一個參數的擴展方法'InvoiceDate'(你缺少using指令還是程序集引用?)
public sealed class __XtraInvoiceInfo
{
private long _payerType = -1;
public long PayerType
{
get
{
return this._payerType;
}
set
{
this._payerType = value;
if (value == Constants.NATURAL_PAYER)
{
this.Payer = new __NaturalInvoiceInfo();
}
}
}
public object Payer
{
get; set;
}
public object BasicInfo
{
get; set;
}
//-- Nested Types --
public sealed class __NaturalInvoiceInfo
{
public string FirstName
{
get; set;
}
public string LastName
{
get; set;
}
public long Catem
{
get; set;
}
}
public sealed class __BasicInvoiceInfo
{
public long InvoiceNumber
{
get; set;
}
public DateTime? InvoiceDate
{
get; set;
}
}
}
我因爲通過他們提出的屬性付款人和BasicInfo我從客戶端的數據和我犯了一個subbinding到我的會員像這樣:
model.BindModel(xii =>
{
var bindModel = new ValidationFrameBindModel<__XtraInvoiceInfo.__BasicInvoiceInfo>();
this.BindControls(bindModel);
model.BindModel<__XtraInvoiceInfo.__BasicInvoiceInfo>((x,b) => x.BasicInfo = b, bindModel);
});
太謝謝你了!如果你有權力回答我的問題。 如果需要,我已準備好提供更多詳細信息。
我使用.NET 3.5 ... – meorfi
@meorfi:好的,所以你需要弄清楚如何指定一個合適的類型來公開你需要的屬性。 –
和,謝謝你的回答和「旁註」@Jon :) – meorfi