代码之家  ›  专栏  ›  技术社区  ›  James Hay

在异步操作之后使用委托作为回调是正确的吗?

  •  2
  • James Hay  · 技术社区  · 15 年前

    例如。。。如果我有一个执行异步操作的方法,并且我想在完成后通知/调用某种回调,我会使用委托吗?

    我似乎无法理解这是怎么回事。有人能给我指出正确的方向吗?

    我在看一些东西,比如……

    public class ContentContext
    {
            public delegate void SuccessCallback(Dictionary<String, String> content);
    
            public void DoSomeAsyncOpertaion(SuccessCallback successCallback)
            {
                //do something and then fire the callback
            }
    }
    

    但有点奇怪。还是一个初学者,学过C语言,所以请原谅我的无知;)

    干杯 J

    3 回复  |  直到 15 年前
        1
  •  1
  •   Richard Szalay    15 年前

    我觉得不错。尽管您可以保存代表声明并使用action<gt;

    我相信 official pattern 是使用 IAsyncResult 如果你正在开发一个frameowrk,我建议你。

        2
  •  2
  •   Guillaume    15 年前

    可以,但回调将在异步操作的同一线程上调用。

    如果这是一个问题,请获取有关.NET中线程的一些信息, SynchronizationContext ,背景词…

        3
  •  0
  •   bruno conde    15 年前

    我想没关系。您也可以使用 AsyncCallback Delegate .