导入命名空间的别名

发布于 2024-12-12 04:37:14 字数 341 浏览 0 评论 0原文

我正在开发一个使用 StyleCop 来验证编码风格的项目。它迫使我按如下方式编写代码:

using AF.Data.Oracle
{
   using Oracle.DataAccess.Client; // *** Compile error here ***

   class Foo {}
}

但我不断收到错误消息,提示在命名空间“AF.Data.Oracle”中找不到类型“DataAccess”。

我知道我可以为 Oracle.DataAccess.Client 中的每种类型使用别名,但这会添加多个别名定义。

但是是否可以使用命名空间的别名之类的东西?

I'm working on a project using StyleCop to verify the coding style. It forces me to write my code as follows:

using AF.Data.Oracle
{
   using Oracle.DataAccess.Client; // *** Compile error here ***

   class Foo {}
}

But I constantly get an error telling that type 'DataAccess' could not be found in namespace 'AF.Data.Oracle'.

I know that I can use aliases for every type from Oracle.DataAccess.Client, but this would add several alias definitions.

But is it possible to use something like alias for a namespace?

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

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

发布评论

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

评论(1

想挽留 2024-12-19 04:37:14

使用 global 命名空间别名

namespace AF.Data.Oracle
{
   using global::Oracle.DataAccess.Client; 

   class Foo {}
}

这将确保您指的是位于命名空间根的 Oracle,以避免 AF.Data.Oracle 与任何以 Oracle 开头的命名空间发生冲突。

Use the global namespace alias:

namespace AF.Data.Oracle
{
   using global::Oracle.DataAccess.Client; 

   class Foo {}
}

This will avoid the namespace clash between AF.Data.Oracle and any namespace beginning with Oracle by ensuring you mean the Oracle that is at the namespace root.

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