Je possède ce code:Comment puis-je faire fonctionner ce lambda?
String temp = txtForm.Rtf;
foreach (ReplaceStrut rs in replaceArray) {
temp = temp.Replace(rs.getNeedle(), rs.getReplacement());
}
if (this.InvokeRequired) {
this.Invoke(temp => txtForm.Rtf = temp);
} else {
txtForm.Rtf = temp;
}
Mais il ne compilera pas. Il se plaint de deux choses, "Impossible de convertir l'expression lambda en type 'System.Delegate' car ce n'est pas un type délégué" et, "Une variable locale nommée 'temp' ne peut pas être déclarée dans cette portée car elle donnerait une signification différente à 'temp', qui est déjà utilisé dans une portée 'parent ou current' pour désigner autre chose "
Les deux erreurs se trouvent sur la ligne lambda. Comment puis-je faire ce travail, qu'est-ce que je fais mal?
Jamais vu la syntaxe utilisée comme ceci: p Je ne sais pas si je l'aime ou non. – leppie
La nouvelle syntaxe Action (() => ...) 'est identique en termes d'IL générée à' (Action) (() => ...) '. –