我正在尝试在FxCop中编写自定义规则,以验证我的命名空间是否以特定单词开头。我尝试过类似下面的内容:
public override ProblemCollection Check(string namespaceName, TypeNodeCollection types)
{
if (namespaceName == null)
{
return this.Problems;
}
if (!namespaceName.StartsWith("FujiXerox.ApeosWare.", StringComparison.Ordinal))
{
this.Problems.Add(new Problem(this.GetNamedResolution("NamespaceResolution", namespaceName)));
}
return this.Problems;
}
但它不起作用。任何人都可以建议如何正确编写此自定义规则。
答案 0 :(得分:1)
我不了解FxCop,但是使用NDepend(一种集成在VS中的.NET工具,可以将自定义代码规则编写为C#LINQ查询),您只需编写:
// <Name>Namespace should start with XYZ</Name>
warnif count > 0
from n in Application.Namespaces
where !n.Name.StartsWith("XYZ")
select n
规则可以是:
免责声明:我在NDepend工作