Unity2.0 - 是否可以以编程方式指定用于类型查找的程序集和命名空间?

发布于 2024-10-05 23:26:29 字数 220 浏览 7 评论 0原文

我正在使用带有 XML 配置的 Unity2。它具有一个巧妙的功能,可以在 XML 配置中指定名称空间和程序集,并为其执行自动类型查找,这样您就不必总是指定全名或创建别名。

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

I am using Unity2 with XML configuration. It has the neat feature to specify namespaces and assemblies in the XML config for which automatic type lookup is performed, so that you do not need to always specify full name or create an alias.

Is it possible to specify assemblies and namespaces for the automatic type lookup programatically, without them being explicitly listed in the XML configuration? My goal is to simplify the XML configuration for my application's administrators. Types from two or three namespaces will almost always be used in the container registrations, so I would like these namespaces to be included in the lookup automatically.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心不设防 2024-10-12 23:26:29

没有任何内置内容明确支持这一点。

某个选项需要在代码中执行更多步骤。您不只是调用container.LoadConfiguration(),而是显式地获取配置部分:

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

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

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

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

There's nothing built in explicitly to support this.

An option would require a few more steps in your code. instead of just calling container.LoadConfiguration(), you'd instead explicitly grab the configuration section:

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

Then, you'd go into the Namespaces or Assemblies properties on the section, and add new NamespaceElement or AssemblyElement objects pointing at the "standard" namespaces and assemblies. Then you apply the updated configuration section to the container. Something like this:

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

I haven't actually tried this, :-), but it should work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文