4
我正在使用VS2008中的WPF应用程序,并决定从其他WPF应用程序中重用一些代码。不过,我有以下行一个奇怪的问题:无法将lambda表达式转换为类型'System.Delegate',因为它不是委托类型
Message.Dispatcher.Invoke(() => { Message.Text = "Looking for orders..."; });
此代码工作正常在原来的应用程序,但抛出正常的“无法转换lambda表达式键入‘System.Delegate’,因为它不是一个委托类型”新应用程序中出现错误。
我知道我可以将该表达式作为一个Action来投入使用;但我很好奇为什么同一段代码在一个项目中编译和工作,而不是另一个。
嗨,彼得。感谢你的回答。我在代码中寻找扩展方法;但没有找到任何。不过,我确实发现了一个从System.Windows.Threading命名空间链接的DispatcherExtensions类。 – oliver 2012-07-14 10:46:28
为了防止任何人感兴趣,添加对System.Windows.Presentation.dll的引用包括DispatcherExtensions类 – oliver 2012-07-14 11:04:04
Hi Oliver。酷 - 不知道这堂课。我已经更新了答案,并附有课程文件的链接。 – 2012-07-14 11:10:32