Ein bisschen Probleme mit der Syntax, wo wir einen Delegaten anonym in einer Control.Invoke aufrufen möchten.Anonyme Methode in Aufruf aufrufen
Wir haben eine Reihe verschiedener Ansätze ausprobiert, alle ohne Erfolg.
Zum Beispiel:
myControl.Invoke(delegate() { MyMethod(this, new MyEventArgs(someParameter)); });
wo someParameter dieser Methode lokal ist
Die oben wird in einem Compiler-Fehler führen:
Cannot convert anonymous method to type 'System.Delegate' because it is not a delegate type
Wie kann Ich übergebe Parameter an deine erste Lösung in dieser Antwort? Ich meinte diese Lösung: control.Invoke ((MethodInvoker) delegate {this.Text = "Hi";}); – uzay95
Warum wird die Erweiterungsmethode aufgerufen, ohne dass eine explizite Umwandlung in Aktion ausgeführt werden muss? –
Weil der Compiler daraus auf die Verwendung schließen kann. – RoboJ1M