c# - Dispatcher.BeginInvoke : Cannot convert lambda to System. 委托(delegate)

标签 c# wpf lambda dispatcher begininvoke

我正在尝试调用 System.Windows.Threading.Dispatcher.BeginInvoke。该方法的签名是这样的:

BeginInvoke(Delegate method, params object[] args)

我试图向它传递一个 Lambda 而不是必须创建一个委托(delegate)。

_dispatcher.BeginInvoke((sender) => { DoSomething(); }, new object[] { this } );

它给我一个编译器错误,说我

can't convert the lambda to a System.Delegate.

委托(delegate)的签名以一个对象为参数,返回void。我的 lambda 匹配这个,但它不工作。我错过了什么?

最佳答案

更短:

_dispatcher.BeginInvoke((Action)(() => DoSomething()));

关于c# - Dispatcher.BeginInvoke : Cannot convert lambda to System. 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936459/

相关文章:

.net - 如何将 Binding.Path 属性绑定(bind)到基础数据?

c++ - 如何在 int 类型的 vector 中使用 lambda?

c++通过值或引用在lambda内部分配指针值

c# - 如何从 JArray 获取子对象到 ObservableCollection

c# - 以正确的 WCF 格式返回 JSONP

c# - 如何将数据从 C# 传递到 C++(仅指针,无编码)

wpf - 数据绑定(bind)是否始终编码到 UI 线程?

asp.net-mvc - Razor 是否支持 lambda 表达式?

c# - WPF Datagrid 数据绑定(bind)到具有静态属性的类和包含动态属性值条目的字典

c# - Paypal C# SDK 端点