게시자 클래스와 구독자 클래스가 있습니다. 게시자 클래스에는 이벤트가 있으며이 이벤트가 발생하면 구독자는 자체 메서드 중 하나를 실행하려고합니다.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