Как подписаться на события других классов в C#?

Внутри вашей формы:

private void SubscribeToEvent(OtherClass theInstance) => theInstance.SomeEvent += this.MyEventHandler;

private void MyEventHandler(object sender, EventArgs args)
{
    // Do something on the event
}

Вы просто event-handlers подписываетесь на событие event-handling в другом классе так же, как c-sharp на событие в вашей форме. Следует c# помнить о трех важных вещах:

  1. Вам csharp необходимо убедиться, что event-handlers ваш метод (обработчик событий) имеет .net-2.0 соответствующее объявление, соответствующее .net-2.0 типу делегата события в другом .cs-file классе.

  2. Событие в другом классе c-sharp должно быть для вас видимым .cs-file (т. е. общедоступным или event внутренним).

  3. Подпишитесь на c-sharp действительный экземпляр event-handling класса, а не на сам класс.

c#

events

.net-2.0

event-handling

2022-11-21T16:43:23+00:00
Вопросы с похожей тематикой, как у вопроса:

Как подписаться на события других классов в C#?