| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Зачем нужен event? |
| Автор: alex_nevolin 13.2.2008, 15:43 | ||
| Читаю про делегаты и эвенты. Так и не понял назначение ключевого слова event. Чем отличаются классы:
Если ничем то зачем event? |
| Автор: QryStaL 13.2.2008, 16:16 | ||
| В первом случае у тебя публичные поля GetX и SetX - нарушение инкапсуляции, данные не защищены. Более подробно почитай тут http://www.rsdn.ru/article/dotnet/delegat.xml Кроме того, при вызове делегат нужно проверять на null
Иначе, в случае, когда он не содержит ни одной ссылки на метод, вывалится исключение. |
| Автор: alex_nevolin 13.2.2008, 16:39 | ||||||
| Да спасибо прочитал. Но ответа на получил:
1)Я так понимаю это аналог свойства. Т.е. приходим к схеме с приватным делегатом и двумя методами. 2)При использовании события его так-же приходиться проверять на null. Или я чего-то не понимаю. Но использование event не дает никаких преимуществ. |
| Автор: WarHog 13.2.2008, 17:11 |
| в принципе, то, что написано в предыдущем посте (схема с приватным статическим классом и двумя методами) внутренне реализуется на IL при объявлении события. |
| Автор: alex_nevolin 13.2.2008, 18:19 | ||||
Спасибо за ссылки:
Т.е. event
Разумный довод. Спасибо всем за консультацию. |