将棱镜与Ninject一起使用
是否有人在那里使用Prism框架与Ninject而不是Unity? 我需要一些Unity尚未支持的function,我决定将IoC容器切换到Ninject。 虽然我在替换中有点挣扎。
我需要从Prism使用的是EventAggregator和RegionManager。 我已经看到了这个实际上替换的示例 ,但是这是为较旧版本的Prism编写的,并且几个类似乎已经改变等等。所以我在尝试重写它之后做了一些努力后最终都感到困惑。
所以 – 我的问题基本上是: 如何用Ninject替换Unity?
有什么必要的步骤? 最初我假设我可以编写一个简单的引导程序来创建和配置Ninject容器并使用它来解析所有其他对象。 我将IEventAggregator绑定到EventAggregator并将IRegionManager绑定到RegionManager,但是在创建Shell并且调用RegionManager.CreateRegion时它会失败。 问题是,似乎我需要在某处设置ServiceLocator,因为它在此行上失败:
IServiceLocator locator = ServiceLocator.Current;
一路上有什么想法和提示吗?
Michael Hart为Prin中的Ninject 实现了必要的位
您只需要实现自己的“NinjectBoostrapper”和使用Ninject的IServiceLocator实现。 链接中的代码为您完成所有这些工作。
我刚刚创建了一个使用Ninject 2.0和Prism 4.0的github项目,该项目应满足任何想要为Ninject交换unity或MEF的人的需求
网站在这里: Prism Ninject Extension
上述就是C#学习教程:将棱镜与Ninject一起使用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1029028.html