gpt4 book ai didi

dispatcher - 我应该在 Visual Studio 2010+ 扩展中使用什么 Dispatcher 进行 UI 操作

转载 作者:行者123 更新时间:2023-12-04 21:16:43 25 4
gpt4 key购买 nike

目前我知道以下 Dispatcher对象。

  • 如果您有 TextView ,可以使用 IWpfTextView.VisualElement.Dispatcher .
  • 如果您的类是由 MEF 构造的(用 [Export] 标记,而不是直接从您自己的代码构造),那么您可以利用 MEF 部分解析算法和构造发生在 UI 线程上这一事实,允许使用 Dispatcher.CurrentDispatcher .例如:
    [Export(typeof(ISomeInterface))]
    public class MyClass : ISomeInterface {
    private readonly Dispatcher _dispatcher;

    public MyClass() {
    _dispatcher = Dispatcher.CurrentDispatcher.
    }
    }
  • 您可以使用 Application.Current.Dispatcher从任何代码。

  • 如果有的话,获得 Dispatcher 的推荐做法是什么? ?

    最佳答案

    不要依赖于在 UI 线程上组合的 MEF。如果它现在对你有用,那你就是走运了。另外MEF本质上是延迟的,充满了Lazy,所以如果你碰巧在后台线程上实现它,整个子图都会在后台实现。

    我会使用 #1 或 #3(不管哪个,只有一个 UI 线程调度程序,不管你如何获得它)。

    关于dispatcher - 我应该在 Visual Studio 2010+ 扩展中使用什么 Dispatcher 进行 UI 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769407/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com