У меня есть две библиотеки классов, которые говорят A и B. У меня есть ссылка B. поэтому я могу вызвать любую функцию B. Но теперь нужно, я хочу поднять событие (или функцию , на самом деле просто хочу отправить небольшую информацию) A из B. Я не могу добавить ссылку из-за круговой зависимости. Есть какой-либо способ сделать это ?Поднять событие другой библиотеки классов в C#
, пожалуйста, дайте мне образец кода; как зарегистрировать и вызвать Благодаря
Хотя это будет работать с 'Action' лучше (по договоренности) использовать 'EventHandler ', где' SomeEventArgs' наследуется от 'EventArgs'. Кроме того, вместо 'Something' вы должны использовать' OnSomethingHappened'. –
JeffRSon
@JeffRS лучше, когда вы работаете с WinForms (или другой инфраструктурой, которая использует EventHandlers для событий), но с обычными классами классов, которые являются излишними. Если мне не нужно передавать отправителю подписчиков, я не буду добавлять эту функцию. Также передача 'EventArgs.Empty' действительно нечетна. Я всегда стараюсь следовать принципу YAGNI –
@JeffRSon Я знаю о OnSomethingHappened и что он должен быть виртуально защищен, но снова для простого случая без наследования это не требуется –