我正在尝试调用 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/