Unity 2.0 - 是否可以通过编程方式为类型查找指定程序集和名称空间?

时间:2010-11-30 16:14:01

标签: unity-container xml-configuration

我正在使用带有XML配置的Unity2。它具有在XML配置中指定名称空间和程序集的简洁功能,可以为其执行自动类型查找,因此您无需始终指定全名或创建别名。

是否可以以编程方式为自动类型查找指定程序集和名称空间,而不在XML配置中明确列出它们?我的目标是简化应用程序管理员的XML配置。两个或三个名称空间中的类型几乎总是在容器注册中使用,所以我希望这些名称空间自动包含在查找中。

1 个答案:

答案 0 :(得分:0)

没有明确的内置来支持这一点。

选项需要在代码中再执行一些步骤。而不是只调用container.LoadConfiguration(),而是明确地获取配置部分:

var section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");

然后,您将进入该部分的Namespaces或Assemblies属性,并添加指向“标准”命名空间和程序集的新NamespaceElement或AssemblyElement对象。 然后您将更新的配置部分应用于容器。像这样:

section.Namespaces.Add(new NamespaceElement() { Name = "my.standard.namespace" });
container.LoadConfiguration(section);

我实际上没有尝试过这个,:-),但它应该有用。