我一直堅持這一整個上午,即使它看起來應該很容易(想知道我是否缺少一些基本的東西)。我有一個類中的以下代碼 -調用調度員的代理
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聲明爲委託,但我無法讓它們中的任何一個進行編譯。任何建議都非常感謝。
謝謝, 克里斯
嗨,謝謝!非常尷尬 - 我原以爲我已經初始化調度員(構造函數代碼的遺漏是故意的)。不過,我想你已經救了我幾個小時的痛苦) –