Cela devrait être simple!C#, invoquer méthode anonyme (Action <>) à partir du fil d'arrière-plan
Je souhaite créer une Action < anonyme> déléguer pour effectuer une mise à jour de l'interface graphique, que j'appellerai de plusieurs autres délégués anonymes (qui seront exécutés sur des threads séparés).
void Test() {
Action<string> invokeDisplay = new Action<string>(delegate(string Element) {
//Do a variety of things to my GUI depending on Element parameter
});
MethodInvoker opLong1 = new MethodInvoker(delegate() {
// Do long task
this.Invoke(invokeDisplay("long1"));
});
MethodInvoker opLong2 = new MethodInvoker(delegate() {
// Do long task
this.Invoke(invokeDisplay("long2"));
});
new Thread(new ThreadStart(opLong1)).Start();
new Thread(new ThreadStart(opLong2)).Start();
}
Alors, quelle est la syntaxe correcte pour cette ligne?
this.Invoke(invokeDisplay("long1"));
Quelle GUI? WinForms, WPF, jQuery? –
Winforms. .Net 3.5 – user1830285
Pas 100% sûr, mais je pense que this.Invoke ((MethodInvoker) (() => invokeDisplay ("long1"))); 'fonctionnera. –