Недавно я перечитывал несколько старых сообщений на Eric Lippert смешно удивительный блог и наткнулся на этот лакомый кусочек:
Значительная часть ключевых слов С# используется в двух или более способы: фиксированные, в, частичные, вне, в, новые, делегировать, где, используя, class, struct, true, false, base, this, event, return и void all имеют как минимум два разных значения.
Просто для удовольствия мои коллеги, и я спросил себя, и я смог придумать хотя бы два использования для всех, кроме одного из этих ключевых слов. То, что меня тошнило, event.
Очевидно, что использование event при объявлении поля члена типа делегата превращает его в событие (например, отображаются только операторы добавления/удаления). Что означает другое значение события?
ИЗМЕНИТЬ (ОТВЕТ):
Благодаря @Hans Passant я выкопал этот бит из С# spec, который объясняет другое использование события - как (по умолчанию ) спецификатор атрибута атрибута для атрибутов события (из раздела 17.2):
Атрибут, указанный в объявлении события, который опускает событие аксессоры могут применяться к объявляемому событию, к связанным (если событие не является абстрактным) или связанным с ним добавлением и удалить методы. В отсутствие атрибута-целевого-спецификатора атрибут применяется к событию. Наличие
eventattribute-target-specifier указывает, что атрибут применяется к мероприятие; наличие спецификатора атрибутаfieldуказывает что атрибут применяется к полю; и наличиеmethodattribute-target-specifier указывает, что атрибут применяется к методам.