gpt4 book ai didi

c# - 如何初始化 MEF ServiceLocator.Current?

转载 作者:行者123 更新时间:2023-11-30 16:26:28 25 4
gpt4 key购买 nike

在我的 App.xaml.cs 中有

private void InitializeContainer()
{
var catalogs = new AggregateCatalog();

var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
catalogs.Catalogs.Add(catalog);

// Also adding Interactions project
catalog = new AssemblyCatalog(typeof(InteractionsService).Assembly);
catalogs.Catalogs.Add(catalog);

// initialize the main application composition host (container)
CompositionHost.Initialize(catalogs);
}

但是,当我尝试像这样在一行中初始化对象时:

this.InteractionsService = ServiceLocator.Current.GetInstance<IInteractionsService>();

我的 ServiceLocator.Current 为空时出现异常。

如何让它发挥作用?

最佳答案

我有同样的问题..

并发现这可能有帮助,

http://www.itwox.com/post/Using-MEF-with-Common-Service-Locator.aspx

关键语句是

ServiceLocator.SetLocatorProvider(() => 无论你的定位器实例是什么);

关于c# - 如何初始化 MEF ServiceLocator.Current?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8798221/

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