Ho letto il MSDN page sui delegati e sembrano semplici. Poi stavo guardando un codice che li usa e ho visto questo:Che cosa sta facendo questo metodo delegato?
public delegate void NoArguments();
public NoArguments Refresh = null;
Refresh = new NoArguments(Reset);
È quella terza riga che mi confonde. Come puoi un delegato a new
delegato? Non è un oggetto, è un metodo, o piuttosto un delegato a un metodo. Secondo l'esempio sulla pagina MSDN, la creazione di un'istanza di un delegato avviene attraverso l'assegnazione semplice, non l'allocazione. Inoltre, perché il new
del delegato assume un parametro, Reset
, quando la dichiarazione dei delegati non accetta parametri?
Grazie per aver sottolineato che si tratta in effetti di un oggetto, non solo di un puntatore di funzione. – johnbakers