C# 이벤트는 Delegate의 번거로움을 해결하는 데 사용됩니다. 하나는 Delegate 속성을 쉽게 재정의하고 결국 코드에서 오류를 유발할 수 있습니다. 이를 피하기 위해 C#은 이벤트를 사용하고 대리자 주위에 래퍼를 정의합니다.
C#의 이벤트
Event를 사용하기 위해서는 먼저 delegate를 정의해야 합니다. Event는 Delegate의 일종으로 키가 눌렸을 때를 이벤트로 들 수 있습니다.
public delegate voide Demo(String val); public event Test TestEvent;
이벤트는 이와 같은 대리자를 보유할 수 있습니다.
this.TestEvent += new Demo (DemoData);
C#의 대리자
대리자는 메서드에 대한 참조를 보유하는 참조 형식 변수입니다. 런타임에 참조를 변경할 수 있습니다.
public delegate void Demo(String val);