草庐IT

mainDispatcher

全部标签

c# - 使用C#方法组执行代码

在更新我的UI代码(.NET4.0应用程序中的C#)时,由于在错误的线程中执行对UI的调用,我遇到了奇怪的崩溃。然而,我已经在主线程上调用了那个调用,所以崩溃没有意义:一个不同的线程拥有它。”在View属性上。经过进一步调查,我找到了原因:我是通过方法组调用的。我曾认为使用方法组或委托(delegate)/lambda本质上是同一件事(另请参见thisquestion和thisquestion)。相反,将方法组转换为委托(delegate)会导致代码执行,检查View的值。这是立即完成的,即在导致崩溃的原始(非UI)线程上。如果我改为使用lambda,则稍后会检查属性,因此会在正确的线