我想验证仅在项目中可见的属性,这是编译操作上的默认命名空间值。我能找到验证项目引用的功能,但它不提供读取默认项目命名空间的选项。
Roslyn分析器是否可以实现?
编辑:我发现在编译开始时有一些可用的属性,但这并没有提供所需的信息。
我知道我可以进入每个类并检查命名空间,但这并不适用于我想知道默认项目的命名空间的情况。例如:项目名称为“Project.UnitTests”,程序集为“Project.UnitTests”,默认命名空间为“Project.UnitTest”。默认命名空间与项目名称不匹配,因为项目名称是复数形式,而命名空间是单数形式。
Roslyn分析器是否可以实现?
编辑:我发现在编译开始时有一些可用的属性,但这并没有提供所需的信息。
context.Compilation.GlobalNamespace.IsNamespace > returns true
context.Compilation.GlobalNamespace.IsGlobalNamespace > returns true
context.Compilation.GlobalNamespace.Name > returns ""
context.Compilation.GlobalNamespace.ToDisplayString() > returns "<global namespace>"
我知道我可以进入每个类并检查命名空间,但这并不适用于我想知道默认项目的命名空间的情况。例如:项目名称为“Project.UnitTests”,程序集为“Project.UnitTests”,默认命名空间为“Project.UnitTest”。默认命名空间与项目名称不匹配,因为项目名称是复数形式,而命名空间是单数形式。