Я играл с делегатами, событиями и анонимными методами. При этом один момент стал очень ясным.
Разве это не упростит процесс регистрации каких-либо методов событий или функций-делегатов в конструкторе?
Мои тесты показывают, что это работает, и это не позволяет вам объявлять их после создания экземпляра (как конструктор объекта делает это за вас).
На самом деле производительность довольно хорошая. Есть ли какие-либо недостатки использования ключевого слова 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)); };
}