我目前瞎搞与Rob艾森伯格的卡利框架。当其设置在 http://caliburn.codeplex.com 文档寻找有怎样的例子从容器解决卡利服务。

这是沿着此线的东西:

SimpleContainer container = new SimpleContainer();

CaliburnFramework
            .ConfigureCore(container)
            .WithCommonDialogs()
            .WithPresentationFramework()
            .Start();

var service = container.GetInstance(typeof (IService)) as Service;

不过我所缺少的是一种方式来获得的容器的引用在应用程序的任何地方。像这样:

var service = Caliburn.Container.GetInstance(typeof(IService))as Service;

我一定要建立保存到容器的引用或者是有已内置到卡利一些自定义静态类?

在此先感谢和最诚挚的问候!

有帮助吗?

解决方案

卡利的最新主干版本自动注册上框架启动作为服务定位器的容器中。你只需要参考您的代码Microsoft.Practices.ServiceLocation然后要求ServiceLocator为您服务的一个实例。

var service = ServiceLocator.Current.GetInstance<IService>();

希望有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top