3

在完成事件的异步网络服务上,有如下代码:

Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!

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

4

1 回答 1

7

这是一个调试断言。删除它不会影响生产代码。

但是,它正在做的是使用Dispatcher.CheckAccess()来验证您在执行期间是否在 UI 线程上。如果您从后台线程调用该方法,则断言将失败。

删除它可能会影响您将来调试它的能力。

于 2009-10-23T15:47:44.417 回答