이벤트 강제 호출곤련 재차 질문드립니다. ㅠㅠ

아래 답변해주신 대로 생성자 안에서 그냥 클래스안에서 실행해봤는데
해당 NewRequestReceived 부분에서 밑줄이 나오더군요 물론 실행하면 오류나옵니다.

NewRequestReceived (); 라던가
NewRequestReceived .invoke(this.EventArgs e);
어디서 호출해야 하는 건가요?

Program.cs에 Main() 이 있는데
혹시 거기서 “본클래스인스턴스”.NewRequestReceived(); 해야 하나요?

// base class
private RequestHandler<TAppSession, TRequestInfo> m_RequestHandler;

public virtual event RequestHandler<TAppSession, TRequestInfo> NewRequestReceived
{
    add { m_RequestHandler += value; }
    remove { m_RequestHandler -= value; }
}

// 본클래스
public 생성자()
    : base(~~~)
{
    // ....
    this.NewRequestReceived += this.OnReceived;
}

// 이벤트함수
private void OnReceived(NetworkSession session, ControllerPacket requestInfo)
{ 
    // .... 
}
1개의 좋아요

이벤트 연결한 이후, 본클래스 내부에서 OnReceived를 제외한 모든 위치에서 NewRequestReceived.Invoke(this, EventArgs.Empty);를 호출할 수 있을거에요.

1개의 좋아요

m_RequestHandler?.Invoke(xx, yy) 로 호출해야 합니다.

1개의 좋아요