Общее правило, за которым я следую, не состоит в том, чтобы включать заголовочный файл, если я не имею к. Таким образом, если я не храню объект класса как членская переменная моего класса, я не буду включать его, я буду просто использовать предописание.
Каковы различия, преимущества или недостатки этих методов.
Второй метод новее, т.е. он поддерживается только начиная с C # 2.0 (я полагаю), в котором добавлено автоматическое преобразование из группа методов (то есть имя метода) делегату. Таким образом, вызов конструктора добавляется компилятором, а второй метод является просто синтаксическим сахаром для первого.
Из-за этого нет других различий между ними.
Поскольку второй метод делает то же самое, что и метод во-первых, предпочтительнее использовать его с меньшим синтаксисом.
Без разницы, результат такой же IL.
Это просто способ сказать то же самое с меньшим количеством кода.
Результат одинаков в обоих случаях. Но в последнем случае компилятор C # определит тип EventHandler из кода, тем самым сэкономив вам несколько нажатий клавиш.
да, компилятор создает один и тот же код IL в обоих случаях, второй случай просто синтаксический сахар