Unity Application Block 1.1中的注射成员与3

时间:2015-02-02 10:14:31

标签: c# .net dependency-injection

对于我在C#中开发的软件应用程序,我正在使用依赖注入。 出于兼容性原因(使用Windows XP的用户),我需要针对.NET framework 4.0版。

我用Microsoft Application Block 3开发了应用程序,它最少需要.NET 4.5,使用这样的RegisterType方法:

 InjectionMember[] im = { new InjectionConstructor() };
 LifetimeManager transient = new TransientLifetimeManager();
 container.RegisterType<IInterface, CImplementation>(@"name", transient, im);

切换回应用程序块1.1,似乎RegisterType&lt;&gt; method缺少指定注入成员的重载。

我似乎做得不仅仅是

container.RegisterType<IInterface, CImplementation>(@"name", transient);

如何告诉RegisterType&lt;&gt;我想指定注射成员吗?

1 个答案:

答案 0 :(得分:0)

添加此行

container.RegisterInstance<IUnityContainer>(container);

我能够让它调用我的构造函数:

public CImplementation(IUnityContainer container)
{
    System.Console.WriteLine(@"CImplementation(IUnityContainer container)");
}