使用C#中的using语句实现完整命名空间

时间:2016-01-14 16:45:29

标签: c# stylecop

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

例如,在Visual Studio中执行Foo.Bar.Car.Dealer时,类X的名称空间是Ctrl+.的实际情况,它有时会放置using Car.Dealer之类的语句;这特别成为多项目解决方案的问题。我一直在寻找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

1 个答案:

答案 0 :(得分:0)

我不知道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();