Я играл с делегатами, событиями и анонимными методами. При этом один момент стал очень ясным.
Разве это не упростило бы процесс регистрации каких-либо методов событий или функций делегирования в конструкторе?
Мои тесты показывают, что это работает, и избавляют вас от необходимости объявлять их после создания экземпляра (поскольку конструктор объекта делает это за вас).
На самом деле производительность неплохая. Есть ли недостатки в использовании ключевого слова this для ссылки на текущий объект при создании / создании экземпляра объекта?
Мне кажется, это имеет большой смысл, поскольку все события будут связаны при создании экземпляра.
В каких областях это может быть проблемой?
Пример:
//Constructor
public SayHello()
{
_name = "Unnamed";
_isUpdated = false;
// Register event handler via lambda (ananymous method shorthand)
this.NameChanged += (object sender, EventArgs e) => { Console.WriteLine(e.message)); };
}