当前位置: 首页 > 编程语言 > C#

将棱镜与Ninject一起使用分享

时间:2023-04-10 23:23:54 C#

C#学习教程:将Prism与Ninject一起使用我需要一些Unity尚不支持的功能,因此我决定将IoC容器切换到Ninject。不过,我在更换时有点吃力。我需要从Prism使用的是EventAggregator和RegionManager。我已经看到这个实际替换的示例,但它是为旧版本的Prism编写的,并且几个类似乎已经更改,等等。所以我在经过一番努力后尝试重写它后最终感到困惑。所以-我的问题基本上是:如何用Ninject替换Unity?有哪些必要步骤?最初我假设我可以编写一个简单的引导程序来创建和配置Ninject容器并使用它来解析所有其他对象。我将IEventAggregator绑定到EventAggregator并将IRegionManager绑定到RegionManager,但是当创建shell并调用RegionManager.CreateRegion时它失败了。问题是,我似乎需要在某处设置ServiceLocator,因为它在这一行失败了:IServiceLocatorlocator=ServiceLocator.Current;一路上有什么想法和提示吗?MichaelHart在Prin中为Ninject实现了必要的位你只需要实现你自己的“NinjectBoostrapper”并使用Ninject的IServiceLocator实现。链接中的代码会为您完成这一切。我刚刚使用Ninject2.0和Prism4.0创建了一个github项目,应该可以满足任何想将unity或MEF换成Ninject的人的需求网站在这里:PrismNinjectExtension以上是C#学习教程:UsingPrismwithNinjectUseall分享的内容,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: