【问题标题】:Call method c# with object sender and EventArgs使用对象发送者和 EventArgs 调用方法 c#
【发布时间】:2013-02-19 21:16:02
【问题描述】:

如何调用下面的方法手册?

  private void NetworkResponseReceived(object sender, Network.ResponseReceivedEventArgs e)
  {
         ExecuteTask();
  }

类似:

NetworkResponseReceived();

需要在括号内插入什么?

【问题讨论】:

  • NetworkResponseReceived(this, EventArgs.Empty);
  • 我认为 tim 的意思是,如果您有代码需要在事件处理程序中和外部运行,请将其分解为单独的方法,然后从两个地方调用该方法跨度>

标签: c# visual-studio function methods


【解决方案1】:

显然你可以这样称呼它

NetworkResponseReceived(null, new ResponseReceivedEventArgs());

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

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

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

DoSomethingBusinessRelated();

【讨论】:

    【解决方案2】:

    这应该可行:

    NetworkResponseReceived(null, new Network.ResponseReceivedEventArgs());
    

    【讨论】:

      【解决方案3】:

      这样试试;

      NetworkResponseReceived(null, new ResponseReceivedEventArgs());
      

      【讨论】:

        猜你喜欢
        • 2013-07-06
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-04
        • 1970-01-01
        • 2011-11-11
        相关资源
        最近更新 更多