在 C# 中使用 using 语句强制实施完整的命名空间

本文关键字:施完整 命名空间 语句 using | 更新日期: 2023-09-27 18:30:17

我已经环顾四周一段时间了,看看如何强制我的 C# 项目具有完整的命名空间路径。

例如,如果在Visual Studio中执行Ctrl+.Foo.Bar.Car.Dealer类X的命名空间,它有时会放置像using Car.Dealer这样的语句;这特别成为多个项目解决方案的问题。我一直在寻找StyleCop规则或可能有助于我完成这项工作的东西。

有什么帮助或想法吗?

编辑

仅当 using 类属于相同的命名空间前缀时,上述语句才成立。下面是完整的代码示例:

文件: X.cs

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

文件:使用类.cs

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

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

在 C# 中使用 using 语句强制实施完整的命名空间

我不知道

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