基于事件的编程,如何响应发送请求的实例

本文关键字:响应 实例 请求 何响应 于事件 事件 编程 | 更新日期: 2023-09-27 18:02:51

我有一个执行长时间运行操作的函数。我的应用程序的许多表单/类访问该函数。当操作完成时,它调用一个事件,该事件绑定了许多不同表单的实例。

如何避免事件调用绑定到它的所有函数。当调用函数时,我想从客户端表单传递一些变量/UUID,然后可以用来调用类/表单的特定实例。

有多个线程在操作这个函数。

class MyClass: IMyInterface
{
    public event ObjectReceivedDelegate PriceResponse;
    MyClass()
    {
    }
    public void GetPrice(List<string> symbols)
    {
        //Call a long running function from a service in a background thread
    }
    void GetPricesAsync_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        PriceResponse(e.Result);
    }
}

基于事件的编程,如何响应发送请求的实例

可以将Action传递给函数。像

void SomeFunc(Action a)
{
  // your code
  a.Invoke();
}