tra l'altro l'espressione funzionante me la segna con la sottolineatura in verde dicendo che non ritorna alcun valore in tutti i percorsi del codice....
grazie
Ultima modifica effettuata da Dedalux il 28/06/2011 alle 0:44
«La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.»
Direi perché la prima viene tradotta con un delegate, mentre la seconda con un'espressione lambda pura, ossia Func<Object, Object>. Mi sembra strano che usando l'espressione funzionale non ti dia errore di cast perché, pur essendo molto simili come contenuto, non è possibile convertire un delegate in una lambda o viceversa (tuttavia è possibile impacchettare un delegate in una lambda e viceversa). Infatti la signature di Register richiede esplicitamente un delegate di tipo Action(Of T).
Per quanto riguarda il warning, ti viene fuori perché usi function senza ritornare un valore al posto di sub:
Codice sorgente - presumibilmente C# / VB.NET
Sub(o As Object)
Message = DirectCast(o, String)
End Sub
Mh, già, ho fatto una ca*ata :|grazie Totem! - Dedalux - 28/06/11 14:58
"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)
"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)