在 Winforms 中,所有控件都有一个InvokeRequired
属性,如果我必须在控件上调用 .[Begin]Invoke 以对其进行修改,则该属性返回 true。
DispatcherObject.CheckAccess()
在 WPF 中, and中有一个明显相似的结构Dispatcher.CheckAccess()
,但我被这个EditorBrowsable(EditorBrowsableState.Never)
属性吓到了。当我像这样禁用编辑器浏览时,我用它来表示“你不应该这样做。不,真的。如果需要这样做来解决你的直接问题,那么你错误地设计了你的总体问题的解决方案。” 另一方面,我找到的唯一替代方案(事实上,我最初的解决方案)是Thread.CurrentThread.ManagedThreadId == 1
. (这太可怕了。它在一般情况下不起作用。我知道。不过,它确实适用于我的有限用途。)
MSDN 文档EditorBrowsable
对属性的存在和推理保持沉默。它是否确实意味着“不要使用它”,就像我输入它一样,或者它是否有其他一些不那么禁止的含义?