c# - 在 C# 中使用 using 语句强制执行完整命名空间

标签 c# stylecop

我一直在四处寻找一段时间,看看如何强制我的 C# 项目具有完整的命名空间路径。

例如实际如果类 X 的命名空间是 Foo.Bar.Car.Dealer 时执行 Ctrl+. 在 vi​​sual studio 中它有时会像 using Car .经销商;这特别成为多个项目解决方案的问题。我一直在寻找 StyleCop 规则或可能帮助我完成这项工作的东西。

有什么帮助或想法吗?

编辑

只有当 using 类属于相同的命名空间前缀时,以上语句才成立。这是完整的代码示例:

文件:X.cs

 namespace Foo.Bar.Car.Dealer {
   class X {}
 }

文件:UsingClass.cs

 namespace Foo.Bar.Another.ClassPath {
  using Car.Dealer;
  class UsingClass {
    private X _x;
  }
 }

VS 选择了 using Car.Dealer 但我想强制使用 Foo.Bar.Car.Dealer

最佳答案

我不知道 2012 年之前的版本,但从那时起,遇到未知类型时弹出的图标提供了通过 using 指令添加命名空间或简单地为完整命名空间引用的类型添加前缀.

如果您不想通过 using 指令添加命名空间(看起来像 using Foo.Bar.Car.Dealer;),

那么在您的示例中,您只需将类型 X 引用为 Foo.Bar.Car.Dealer.X

例子:

//assuming your X type is instantiable
Foo.Bar.Car.Dealer.X myX = new Foo.Bar.Car.Dealer.X();

关于c# - 在 C# 中使用 using 语句强制执行完整命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34795062/

相关文章:

C# + StyleCop + MSBuild + 全局区域性设置无法获取

c# - Roslyn - CSharpCompilation 到 CSharpCompilation 引用

c# - ASP.NET : How to provide email preview for the different email providers

c# - 何时关闭 UDP 套接字

c# - 字符串编码在数据库上失败

c# - Stylecop 配置文件在哪里?

C# 这个初始化程序真的是多余的吗?

c# - 如何将数据集转换为数据表

c# - 如何处理冲突的编码约定?

.net - Global.asax.cs 文件和 StyleCop 规则 SA1649 存在问题