使用对象发送方和EventArgs调用方法c#

Max*_*Max 2 c# methods function visual-studio

如何调用以下方法手册?

  private void NetworkResponseReceived(object sender, Network.ResponseReceivedEventArgs e)
  {
         ExecuteTask();
  }
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

NetworkResponseReceived();
Run Code Online (Sandbox Code Playgroud)

什么需要插入括号内?

Ser*_*kiy 13

显然你可以这样称呼它

NetworkResponseReceived(null, new ResponseReceivedEventArgs());
Run Code Online (Sandbox Code Playgroud)

但这将是谎言.Handler期望收到响应(来自某个对象),但事实并非如此.我认为最好将处理程序的逻辑提取到单独的方法中.并从您的代码和处理程序中调用该方法.像这样:

void NetworkResponseReceived(object sender, Network.ResponseReceivedEventArgs e)
{
    // this method can have some arguments, if needed
    DoSomethingBusinessRelated();
}
Run Code Online (Sandbox Code Playgroud)

并简单地从其他地方调用相同的方法:

DoSomethingBusinessRelated();
Run Code Online (Sandbox Code Playgroud)