我的演示应用程序在 WPF 项目中实现了 MVVM 模式。ViewModel 通过服务代理(代理)调用远程 Web 服务,如下所示:
proxy.GetProjectList((sender, e) => this.ProjectList, username, password);
ProjectList
是 ViewModel 中定义的属性。它包含一个对象数组CProject
。视图绑定到此属性以显示项目名称。基本上这工作正常。
但是,NullReferenceException
如果我添加以下 if 语句,我会得到一个:
proxy.GetProjectList((sender, e) => this.ProjectList = e.Result, username, password);
if (ProjectList.Length > 0) doSomething();
调试应用程序显示该ProjectList
属性是null
在调用 Web 服务之后。我只是不知道为什么。
上面的webservice调用实现如下:
public void GetProjectList(EventHandler<getProjectListCompletedEventArgs> callback, string username, string password) {
proxy.getProjectListCompleted += callback;
proxy.getProjectListAsync(username, password);
}