我整个早上都被困在这个问题上,尽管它看起来应该很容易(想知道我是否遗漏了一些基本的东西)。我在课堂上有以下代码-
public class myClass
{
private Dispatcher m_Dispatcher;
private void myMethod() { ... }
private void invokeTheMethod(object sender, PropertyChangedEventArgs e)
{
m_Dispatcher.Invoke(myMethod); //XYZ
}
}
调度程序附加到运行 myClass 实例的线程。invokeTheMethod 方法是从另一个线程调用的,我想在 m_Dispatcher 的线程上运行 myMethod。但是,如果我尝试运行此代码,我会在 XYZ 处得到一个异常,说“对象引用不是对象的实例”。这是因为我没有以委托的形式声明 myMethod 吗?- 我尝试了不同的方法将 myMethod 声明为委托,但我无法编译它们中的任何一个。任何建议都非常感谢。
谢谢,克里斯