Я могу назначить метод M
делегировать объект d
с менее конкретным типом параметра, но когда я хочу назначить анонимный метод с той же сигнатурой, что и метод M
, на d
, я получаю ошибка.
Почему это?
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) { }