我有一个接口[BindControls],它从GUI获取数据并将其存储到列表“ieis”中。
之后,进入另一个通过WebServices发送此数据的类,我想从“ieis”获取这些数据并将其放入WS Class字段所需的内容中(底部是一段代码)
这是界面:
void BindControls(ValidationFrameBindModel<A.B> model)
{
model.Bind(this.mtbxTax, (obj, value) =>
{
var taxa = TConvertor.Convert<double>((string)value, -1);
if (taxa > 0)
{
var ieis = new List<X>();
var iei = new X
{
service = new ServiceInfo
{
id = Constants.SERVICE_TAX
},
amount = tax,
currency = new CurrencyInfo
{
id = Constants.DEFAULT_CURRENCY_ID
}
};
ieis.Add(iei);
}
},"Tax");
}
这是中间财产:
// * ** * ** * ** *
class A
{
public B BasicInfo
{
get;
set;
}
class B
{
public X Tax
{
get;
set;
}
}
}
// * ** * ** * ** * *
这是通过WS发送的类:
void WebServiceExecute(SomeType someParam)
{
//into ‚iai’ i store the data which comes from interface
var iai = base.Params.FetchOrDefault<A>( INFO, null);
var convertedObj = new IWEI();
//...
var lx = new List<X>();
//1st WAY: I tried to put all data from ‚Tax’into my local list ‚lx’
//lx.Add(iai.BasicInfo.Tax); - this way is not working
//2nd WAY: I tried to put data separately into ‚lx’
var iei = new X
{
service = new ServiceInfo
{
id = iai.BasicInfo.Tax.service.id
},
amount = iai.BasicInfo.Tax.amount,
currency = new CurrencyInfo
{
id = iai.BasicInfo.Tax.currency.id
}
};
lx.Add(iei);
// but also is not working
你可以帮我建议如何实施一种能很好地完成工作的方法(从中获取数据,ieis'并将她放入,lx')。 非常感谢你
答案 0 :(得分:1)
正如我的评论中所述,看起来iai.BasicInfo.Tax为null,一旦你发现原因为Add()
(#1)的原因为null,就会有效。