Я регистрировался на событие в своем классе и, как обычно, был ленив и просто использовал функцию автозаполнения, встроенную в Visual Studio 2008 Pro, которая автоматически создает создание делегата и связанный с ним метод.
public abstract class FooBase
{
protected event EventHandler<MyValueChangedArgs> MyValueChanged;
protected FooBase()
{
MyValueChanged +=
new EventHandler<MyValueChangedArgs>(HandleMyValueChanged);
}
private void HandleMyValueChanged(object sender, MyValueChangedArgs e)
{
// Some handling logic
}
}
Обычно я не думаю дважды, когда Visual Studio передает мне обработчик событий, но затем я получил рекомендацию от Refactor! Pro для "Удалить избыточное создание делегатов". Рекомендация приводит к:
public abstract class FooBase
{
protected event EventHandler<MyValueChangedArgs> MyValueChanged;
protected FooBase()
{
MyValueChanged += HandleMyValueChanged;
}
private void HandleMyValueChanged(object sender, MyValueChangedArgs e)
{
// Some handling logic
}
}
В каких обстоятельствах избыточность делегирования создается и когда создается делегирование?
Спасибо.