fxcop 自定义规则 - 检查源代码以查找新关键字
Posted
技术标签:
【中文标题】fxcop 自定义规则 - 检查源代码以查找新关键字【英文标题】:fxcop custom rules - Inspecting source code to look for new keyword 【发布时间】:2009-11-17 17:08:11 【问题描述】:我想避免用 new 实例化某些类,并强制使用工厂类。
但我不明白该怎么做。
谁能给我看个小样?
提前感谢您的帮助, 最好的问候
【问题讨论】:
正在寻找如何创建自定义 FxCop 规则的示例或如何检查类实例化的示例? @TrueWill > 很高兴,但我该怎么做呢? @dtb > 我知道如何创建简单的规则,但我正在寻找方法来分析如何为特定类型完成实例化 【参考方案1】:这里有一些内容可以帮助您入门。您需要添加自己的逻辑来确定是否应允许任何给定类型的实例通过 newing 实例化。
public override ProblemCollection Check(Member member)
if (member is Method)
this.Visit(member);
return this.Problems;
public override void VisitConstruct(Construct construct)
base.VisitConstruct(construct);
if (!this.AllowTypeToBeNewed(construct.Type))
this.Problems.Add(new Problem(this.GetResolution(), construct));
private bool AllowTypeToBeNewed(TypeNode type)
throw new NotImplementedException();
【讨论】:
感谢您的帮助。我可以使用 Type.Interfaces 来寻找工厂的接口【参考方案2】:这家伙解释的很好
http://www.guysmithferrier.com/downloads/FxCop.pdf
【讨论】:
以上是关于fxcop 自定义规则 - 检查源代码以查找新关键字的主要内容,如果未能解决你的问题,请参考以下文章