BeginInvoke не вызывает целевой метод в сборке выпуска - PullRequest
2 голосов
/ 09 июня 2010

У меня есть метод, который я хочу выполнить в обработчике сообщений пользовательского интерфейса и, таким образом, сделать следующее:

private void SomeMethod() {
    BeginInvoke(new MethodInvoker(MethodToInvoke));
}

private void MethodToInvoke() {
    // This method contains code that I wish to execute on UI message pump.

}

Теперь вышесказанное прекрасно работает, когда я создаю отладочную сборку проекта. Однако при создании сборки Release метод «MethodToInvoke» не вызывается.

Кто-нибудь знает, почему это может быть?

Спасибо, Элан

1 Ответ

1 голос
/ 09 июня 2010

Оказывается, вызов BeginInvoke выдал исключение, которое я пропустил. Это, конечно, объясняет, почему целевой метод не выполнялся.

System.InvalidOperationException: Invoke или BeginInvoke не могут быть вызваны для элемента управления, пока не создан дескриптор окна.

Однако не ясно, почему это исключение не было выброшено в сборке Debug.

...