У меня есть класс издателя и класс подписчика. Класс publisher имеет событие, и подписчик хочет выполнить один из своих методов, когда это событие будет поднято.C# Обработка событий с использованием подписчика издателя не работает
Вот мой издатель класс с событием:
public delegate EventHandler<MyEventArgs> MyEventHandler(object sender, MyEventArgs args);
public class MyEventArgs : EventArgs
{
public string Content { set; get; }
}
public class Publisher
{
public event MyEventHandler MyCustomEvent;
public void TriggerEvent()
{
if(MyCustomEvent!=null)
MyCustomEvent(this, new MyEventArgs{ Content = "Geeee! This isn't working!" });
}
}
А вот абонент:
class Subscriber
{
static void Main(string[] args)
{
Publisher publisher = new Publisher();
//hook the event to a method
publisher.MyCustomEvent += (s, e) => delegate
{
PrintThis(e.Content);
};
//Do something to trigger the event
publisher.TriggerEvent();
}
static public void PrintThis(string content)
{
Console.Write(content);
}
}
Издатель не должен быть в курсе абонента. Я хочу, чтобы подписчик мог выполнять свою функцию PrintThis, когда издатель вызывает событие. Но это не работает. Что я здесь делаю неправильно?
Что не работает? – Enigmativity
Контрольная точка при функции PrintThis никогда не попадает. На консоли ничего не печатается. – user3655614