Func<T,TResult> Delegat wirft InvalidOperationException

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von AllesAufAnfang.

    Func<T,TResult> Delegat wirft InvalidOperationException

    Hallo,

    ich komm einfach mit diesem delegat func<T,TResult> aus der Hölle nicht klar. Es kommt immer zur InvalidOperationException.
    Der Code soll aus einem anderen Thread (als der WinForms UI Thread), eine MessageBox aus der guten alten VisualBasic Referenz anzeigen und das DialogResult zurückgeben.

    C#-Quellcode

    1. // Delegat mit anonymer Methode
    2. public Func<FormMain, string, string, MessageBoxButtons, MessageBoxIcons, DialogResult> ShowMyDialog = (form, text, caption, buttons, icon) => Messagebox.Show(form, text, caption,buttons,icon);

    C#-Quellcode

    1. ForemMain form
    2. // Aufruf in ThreadXYZ
    3. var dialogResult = form.ShowMyDialog(form, testText, testCaption, MessageBoxButtons.OK, MessageBoxIcon.Information) //<-- wirft InvalidOperationException

    Normalerweise Invoke ich so:

    C#-Quellcode

    1. form.Invoke(new Action(() => form.Blablabla()));

    Aber Action hat ja kein Rückgabewerkt.
    Habe ich etwas übersehen warum er mir immer eine InvalidOperationException wirft?

    Ich bin Euch für jeden Tipp dankbar.


    Edits: Rechtschreibung und Formatierung

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AllesAufAnfang“ ()