Dodawanie i usuwanie anonimowej obsługi zdarzeń

Zastanawiałem się, czy to rzeczywiście zadziałało?

private void RegisterKeyChanged(T item) 
{
    item.OnKeyChanged += (o, k) => ChangeItemKey((T)o, k);
}

private void UnRegisterKeyChanged(T item) 
{
    item.OnKeyChanged -= (o, k) => ChangeItemKey((T)o, k);
}

Skąd kompilator wie, że programy obsługi zdarzeń są takie same? Czy to jest nawet zalecane?

questionAnswers(6)

yourAnswerToTheQuestion