0
使用Unity,你可以因此它解决了一些参数类型注册一个接口,并且还可以有一个名为注册:注册了一个名为默认注册
container.RegisterType<IInterface, MyClass>(
new InjectionConstructor(new ResolvedParameter<string>("Default"))
);
container.RegisterType<IInterface, MyClass>(
"Named First",
new InjectionConstructor(new ResolvedParameter<string>("Named First"))
);
container.RegisterType<IInterface, MyClass>(
"Named Second",
new InjectionConstructor(new ResolvedParameter<string>("Named Second"))
);
比方说,我希望我的默认注册做同样的作为“命名第二”注册。我能做到这一点:
container.RegisterType<IInterface, MyClass>(
new InjectionConstructor(new ResolvedParameter<string>("Named Second"))
);
有没有办法有,而不是复制整个事情的默认(未命名?)注册点朝着第二个命名注册,?喜欢的东西:
container.RegisterType<IInterface, IInterface("Named Second")>(); // Doesn't work.
在这个例子中,它只有一个参数的构造函数,但是我们要说的构造函数有8个接口,2个InjectionProperties和InjectionMethod,你不会想重复的是,冒着不同步。
看起来很健康。我害怕在“注册时间”解析界面,但我不知道为什么我没有考虑使用lambda表达式。我明天会进行测试,但我没有看到有什么理由不起作用。 – Tipx 2014-12-05 04:28:28
工作很好,谢谢先生! – Tipx 2014-12-05 16:26:26