我一直在寻找一段时间,看看如何强制我的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
答案 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();