У меня есть класс, который имеет объект-член (переменная класса). Этот объект имеет некоторые события. Я бы хотел разоблачить эти события непосредственно в своем классе. Каков наилучший способ сделать это?Лучший способ подключения событий к объекту?
1
A
ответ
2
Если вы хотите, чтобы выставить события непосредственно (без определения новых обработчиков, которые вы ждете ваших абонентов), вы можете сделать это:
class MyClass {
private readonly OtherClass other = new OtherClass();
public event EventHandler Click {
add { other.Click += value; }
remove { other.Click -= value; }
}
}
Преимущества этого метода заключается в том, что вам не нужно обрабатывать события из OtherClass и пересылать их как свои собственные. Недостатком (и причиной того, что я объявлял «другое» поле как только для чтения) является то, что любой, кто подключается к событию Click MyClass, действительно подключается к событию ClickClick другого пользователя косвенно. Таким образом, вы не захотите просто изменить другой экземпляр, потому что абоненты, которые уже обрабатывали событие, не будут вызываться.
Смежные вопросы
- 1. Лучший способ применить несколько фильтров к объекту
- 2. Лучший способ добавить значения к объекту?
- 3. Лучший способ подключения к MySQL локально?
- 4. Лучший способ подключения к mysql через php
- 5. шаблон лучший способ подключения к нескольким контроллерам?
- 6. Лучший способ подключения gridview к источнику данных
- 7. Лучший способ подключения к базе данных?
- 8. Лучший способ мониторинга подключения
- 9. Лучший способ поиска событий?
- 10. Лучший способ поиска событий?
- 11. JQuery - Лучший способ подключения объектов GUI к событиям?
- 12. Лучший способ подключения элемента arraylist к потоку и другим способом
- 13. Каков самый простой способ подключения к удаленному серверному объекту .NET
- 14. Способ подключения последовательности событий в JQuery?
- 15. Правильный способ доступа к объекту
- 16. Лучший способ добавить ваш скрипт к объекту окна?
- 17. Лучший способ контролировать доступ к строковому объекту в многопоточной программе
- 18. лучший способ доступа к родительскому объекту из дочернего объекта
- 19. Лучший способ защиты от многократного shared_ptr к одному объекту
- 20. Лучший способ подключения нескольких обработчиков событий к одному событию на C#?
- 21. Лучший способ подключения node.js и sphinx
- 22. nodejs sql azure лучший способ подключения
- 23. Какой лучший способ защитить строку подключения к базе данных?
- 24. Лучший способ сделать что-то после подключения к Интернету
- 25. Лучший способ подключения к Mongodb с помощью узла
- 26. Лучший способ подключения электронной таблицы к веб-базе данных
- 27. Лучший способ подключения к SQL Server в C# WPF
- 28. лучший способ подключения Android-телефона к эмулятору genymotion
- 29. Лучший способ подключения к Interbase 7.1 с использованием .NET C#
- 30. Способ подключения SailsJS к API. Какой лучший метод?
В частности, обратите внимание, что обработчики событий получат ссылку на внутренний объект как аргумент 'sender'. Если вы намеренно иначе не открываете внутренний объект, это может быть прерыватель инкапсуляции. –