0

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

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

4

1 回答 1

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);

我实际上还没有尝试过,:-),但它应该可以工作。

于 2010-11-30T20:17:33.523 回答