2010-01-21 6 views
2

Est-il possible de spécifier des noms de paramètres pour les types de délégués dans F #? Lorsque je crée un délégué de ce type en F #:Fourniture de noms de paramètres pour les types de délégués

type DataValidationEventHandler = delegate of obj * DataValidationEventArgs -> unit 

... il génère automatiquement cette signature pour le gestionnaire en C#:

static void loader_ValidationEvent(object __p1, DataValidationEventArgs __p2) 

Idéalement, il générerait le « expéditeur » habituelle et Noms de paramètres 'e'.

Répondre

3

Oui:

type DataValidationEventHandler = delegate of sender:obj * e:DataValidationEventArgs -> unit 
+0

Bleh. J'ai essayé cela, mais j'ai mis parens autour de 'expéditeur: obj' (comme vous le feriez dans une signature de fonction). Bon à savoir, ça ne marche pas. Merci. – Daniel

+0

comment faites-vous cela pour C#? –

+0

@Bless Yahu - dans les types de délégués C# ont toujours des noms de paramètres - il n'y a aucun moyen de les omettre. Par exemple, le délégué C# équivalent serait 'delegate void DataValidationEventHanlder (expéditeur d'objet, DataValidationEventArgs e)'. ' – kvb

1

Oui:

type MyDel = delegate of o:obj * ea:System.EventArgs -> unit 

noms les o et ea.

Questions connexes