我有一个ContextMenuStrip控件,允许您执行一个动作是两种不同的风格:Sync
和Async
。动作T同步和异步
我试图掩盖使用泛型所以我做了这一切:
public class BaseContextMenu<T> : IContextMenu
{
private T executor;
public void Exec(Action<T> action)
{
action.Invoke(this.executor);
}
public void ExecAsync(Action<T> asyncAction)
{
// ...
}
我怎么可以为了执行通用的动作和“有所作为”,在此期间的菜单写异步方法? 我看到的BeginInvoke
的签名是这样的:
asyncAction.BeginInvoke(this.executor, IAsyncCallback, object);
让我看看 – Raffaeu 2010-03-12 16:57:08
谢谢,这就是我一直在寻找的东西。我只是遇到了lambda表达式的一个问题,我不需要关于多线程编程的课程。 ;-) – Raffaeu 2010-03-12 17:23:47
+1。杰夫的文章。这真的很有见地,帮了我很多。 – IAbstract 2010-12-31 15:21:16