Dispatcher CheckAccess的目的是什么?

3
在异步Web服务完成事件中,有一个类似于以下代码的代码:
Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!

有人知道如果我删除这段代码会发生什么吗?或者,能回答我的问题吗?
1个回答

7

这是一个调试断言。删除它对生产代码没有影响。

所做的事情是使用Dispatcher.CheckAccess()验证在执行该点时您是否在UI线程上。如果您从后台线程调用该方法,则会导致断言失败。

删除此内容可能会影响您以后调试代码的能力。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接