2010-09-28 7 views
3

J'ai.NET 3.5: délégué anonyme pour les gestionnaires ref params

public delegate void DocumentCompleteEventHandler(object pDisp, ref object URL) 

Puis-je utiliser l'expression lambda tels que:

ie.DocumentComplete += (o, e) => { }; 

Il expression ne fonctionne pas. Comment devrais-je le changer pour l'utilisation dans le code? C'est possible?

Répondre

6

Avez-vous essayé:

ie.DocumentComplete += (object o, ref object e) => {}; 

Parfois, le compilateur ne peut pas comprendre les choses par inférence pure et vous devez spécifier les types d'arguments de labmda Notez qu'il est un tout ou rien (et modificateurs.) chose: vous devez donner des types pour tous les arguments ou pas du tout.

p.s. J'attends un certain M. Skeet pour sauter ici et coller un essai pour voler tous mes points.

+0

Merci! Ça marche! – Rover

+0

@rover, ok alors s'il vous plaît marquer ma réponse comme réponse. Je vous remercie! – x0n

+3

Vous êtes trop rapide))) Je le ferai en 8 minutes – Rover

Questions connexes