Sono in grado di assegnare un metodo M
per delegare l'oggetto d
con un tipo di parametro meno specifico, ma quando voglio assegnare un metodo anonimo con lo stesso la firma come metodo M
a d
, viene visualizzato un errore.Impossibile assegnare a delegare un metodo anonimo con un tipo di parametro meno specifico
Perché è quello?
class derivedEventArgs : EventArgs { }
delegate void newDelegate(object o, derivedEventArgs e);
static void Main(string[] args)
{
newDelegate d = M; // ok
d = (object o, EventArgs e) => { }; // error
}
public static void M(object o, EventArgs e) { }
Hai certamente alcune convenzioni di denominazione interessanti in corso ... –