클래스가 해당 메서드에서 이벤트를 발생시키는 경우 클래스는 이벤트를 구독하는 대상 또는 누가 알 필요가 없습니다. 구독자가있는 경우 중요하지 않습니다.구독자가 없을 수도있는 이벤트 처리
아래 코드에서 OnTrigger 이벤트 구독자가 없으면 예외가 발생합니다.
public class EventTrigger
{
public static void Main(string[] args)
{
(new EventTrigger()).Trigger();
}
public delegate void Delegate1();
public event Delegate1 OnTrigger;
void Trigger()
{
OnTrigger();
}
}
다음과 같은 이벤트를 호출 할 수 있습니다.
if (OnTrigger != null)
{
OnTrigger();
}
그러나 트리거가 구독에 대해 알 필요가 없기 때문에 나에게는 이상한 것처럼 보입니다.
내 질문은 :
내가 그것을 사용할 때마다 이벤트 참조가 null인지 확인해야합니까.
주제에 대한 흥미로운 토론은 다음과 같습니다. http://stackoverflow.com/questions/248072/evil-use-of-extension-methods – ken
나는 우주에서 혼자가 아닙니다. 그것은 나를 기분 좋게 만든다. 그러나 나는 그것이 좋은 접근법도 아니다라고 생각한다. 확장 메서드로 수행되기 때문에가 아닙니다. 왜냐하면 키보드 입력이 더 필요하기 때문에 더러워집니다. –