繁体   English   中英

与委托.BeginInvoke和UI线程有关的问题

[英]Issue with delegate.BeginInvoke and UI thread

在按钮单击事件(窗体控件)中,我有:

Action<SomeType, CallbackType> action = (__o1, __callback) =>
{
  __o1.Operation(__callback);
};
action.BeginInvoke(
  o1, 
  callback,
  (asyncCallback) => 
    ((Action<SomeType, CallbackType>)asyncCallback.AsyncState).EndInvoke(asyncCallback),
  action);

由于某些未知原因,UI线程将挂起,直到此异步调用返回。 但是点击事件实现仍会返回。

任何想法可能是什么问题?

尝试这个:

Action<SomeType, CallbackType> action = (__o1, __callback) =>
{
    __o1.Operation(__callback);
};
action.BeginInvoke(
    o1,
    callback,
    (asyncCallback) =>
    ((Action<SomeType, CallbackType>)((AsyncResult)asyncCallback).AsyncDelegate).EndInvoke(asyncCallback),
    action);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM