Я написал класс (фрагмент ниже), в котором есть некоторые элементы данных, в которые я помещаю данные со стороны клиента. Я должен отправить эти данные через веб-сервисы, где есть класс, который включает в себя мои элементы данных, но содержит больше элементов данных, чем мой класс.
Я должен привести из своего типа в другой тип.
Проблема в том, что я не знаю, как получить доступ к членам данных для получения данных.
все мои данные находятся в этом объекте "OBJ":
__XtraInvoiceInfo OBJ = new __XtraInvoiceInfo();
и тип веб-служб: "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
};
ошибка " член недоступен " означает * -> 'объект' не содержит определения для 'InvoiceDate' и нет метода расширения '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;
}
}
}
Я сделал свойства Payer и BasicInfo, потому что через них я беру данные от Клиента и делаю суббиндинг на своих участников следующим образом:
model.BindModel(xii =>
{
var bindModel = new ValidationFrameBindModel<__XtraInvoiceInfo.__BasicInvoiceInfo>();
this.BindControls(bindModel);
model.BindModel<__XtraInvoiceInfo.__BasicInvoiceInfo>((x,b) => x.BasicInfo = b, bindModel);
});
Спасибо большое !!! если у вас есть возможность ответить на мой вопрос.
Я готов сказать больше деталей, если это потребуется.