【发布时间】:2014-06-16 05:42:44
【问题描述】:
我是 MVVM 的新手,经过几周的学习,但我不太清楚 callback 在 ViewModel 和 Model 之间的行为。
假设我有一个视图模型从数据库中获取计算结果,GetCalculationA 使用回调,GetCalculationB 是返回值,但哪个更好,为什么?
ViewModel:
public void GetCalculationResultA()
{
_service.PrepareStuff(e =>
{
if (e != null) errHandler(@"err in calculation");
_service.GetParameterA((i1, e1) =>
{
if (e1 != null) errHandler(@"err in calculation");
_service.GetParameterB((i2, e2) =>
{
if (e2 != null) errHandler(@"err in calculation");
_service.Calc(i1, i2, (r, e3) =>
{
if (e3 != null) errHandler(@"err in calculation");
ResultText = r.toString();
});
});
});
});
}
public void GetCalculationResultB()
{
try
{
_service.PrepareStuff();
int i1 = _service.GetParameterA();
int i2 = _service.GetParameterB();
ResultText = _service.Calc(i1, i2);
}
catch
{
errHandler(@"err in calculation")
}
}
【问题讨论】:
标签: c# mvvm model callback viewmodel