以异步方式调用普通方法的最佳方法是什么?

use*_*949 1 .net c#

只是有一个像这样的常规方法

void DosomethingLong()

以异步方式调用它的最佳方法是什么?

the*_*oop 6

标准方法是创建方法的委托:

Action myMethod = DosomethingLong;
Run Code Online (Sandbox Code Playgroud)

然后使用APM异步执行它(示例):

IAsyncResult result = myMethod.BeginInvoke(..., null);

// ...

myMethod.EndInvoke(result);
Run Code Online (Sandbox Code Playgroud)

您还可以使用其他方法; 使用Thread,使用BackgroundWorker等,具体取决于您的具体要求.