Dependency injection 使用Unity应用程序块的依赖项注入

Dependency injection 使用Unity应用程序块的依赖项注入,dependency-injection,unity-application-block,Dependency Injection,Unity Application Block,我正在尝试学习依赖注入,并使用unity应用程序块来提供帮助 我想做的是,有一个控制台应用程序,它将注册一个类(只要它实现一个特定的接口)并执行一个方法。。。 因此,将执行实现该方法的类上的方法 希望这是有意义的…朝着正确的方向轻轻推一下会很完美 我正在查看msdn上的文档,但我仍然无法100%确定如何进行 Thx Stevevar container=new UnityContainer(); container.RegisterType(); container.Resolve().Bar(

我正在尝试学习依赖注入,并使用unity应用程序块来提供帮助

我想做的是,有一个控制台应用程序,它将注册一个类(只要它实现一个特定的接口)并执行一个方法。。。 因此,将执行实现该方法的类上的方法

希望这是有意义的…朝着正确的方向轻轻推一下会很完美

我正在查看msdn上的文档,但我仍然无法100%确定如何进行

Thx Steve

var container=new UnityContainer();
container.RegisterType();
container.Resolve().Bar();
调用Resolve时,它将返回
Foo
的实例,因为这是为IFoo接口注册的


Unity没有基于约定的注册功能,比如更高级的DI容器。如果您想要后期绑定的合成,您可能需要看一看。

我从来没有听说过MEF,但您需要做的就是实现一个简单的插件模式。不久前我写了一篇文章,介绍了如何为数据库引擎执行此操作,但它可以轻松应用于实现接口的任何东西:


您可以观看以下30分钟的youtube视频,逐步解释如何将DI与unity应用程序块一起使用


谢谢,我要去看一场戏,但不要。我希望最终得到的是一个应用程序,它将读取dll,实例化那些dll中实现特定接口并执行代码的类。dll将驻留在一个目录中,因此我可以在不更改应用程序的情况下插入一个dll以获得一些额外的功能。希望我的方向是正确的!!从未看过MEF,我会看看…thxMEF会帮你的。统一不会。你有任何例子(如上面几行)吗?我已经让代码正常工作了,所以我注册了多个类,这些类实现了同一个接口,并且能够按照我的意愿解析和执行所有代码。现在它只是打开dll的!!也许我应该再问一个问题!下面是一篇关于MEF的介绍性文章:
var container = new UnityContainer();
container.RegisterType<IFoo, Foo>();

container.Resolve<IFoo>().Bar();