如何在 Unity 中使用多个 typeConfig?
在统一中,配置类型时,如果唯一命名,您可以指定多个 typeConfig,如下所示:
<type type="IFoo" mapTo="ConcreteFoo">
<typeConfig name="rainbows">
<constructor>
<param name="magic" parameterType="string">
<value value="rainbows"/>
</param>
</constructor>
</typeConfig>
<typeConfig name="unicorns>
<constructor>
<param name="magic" parameterType="string">
<value value="unicorns"/>
</param>
</constructor>
</typeConfig>
</type>
解析时,如何指定哪个 typeConfig,以及因此将什么注入到构造函数中?
In unity, when configuring a type, you can specify more than one typeConfig if uniquely named like so:
<type type="IFoo" mapTo="ConcreteFoo">
<typeConfig name="rainbows">
<constructor>
<param name="magic" parameterType="string">
<value value="rainbows"/>
</param>
</constructor>
</typeConfig>
<typeConfig name="unicorns>
<constructor>
<param name="magic" parameterType="string">
<value value="unicorns"/>
</param>
</constructor>
</typeConfig>
</type>
When resolving, how do you specify which typeConfig, and consequently what gets injected to the constructor?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 DependencyAttribute 中提供名称,如下所示:
Supply the name in a DependencyAttribute, like this:
当你调用container.Resolve时,你可以传递一个字符串。该字符串是您用于配置特定注册的名称。
此外,当您配置注册时,您可以在注册上指定 dependencyName,以告诉它您希望容器使用哪个命名注册。
When you call container.Resolve, you can pass a string. That string is the name that you used to configure a particular registration.
Also, when you configure registrations, you can specify the dependencyName on a registration to tell it which named registration you want the container to use.