创建一个VS / r#规则来强制使用'this'调用非静态方法时

本文关键字:this 静态方法 调用 一个 VS 规则 创建 | 更新日期: 2023-09-27 18:14:45

在我目前的项目中,我调用所有带有this.前缀的非静态方法。

例如:

public void Test(){
    //wrong call
    DoIt();
    //Right call
    this.DoIt();
}
public void DoIt(){
    return "yeah";
}

现在r#说(它是正确的),当我输入this.时,它是一个多余的限定符。

所以我切换了那个规则,但我想更进一步:我可以在r#(或VS2013)本身创建一个规则,当我不使用this.调用非静态方法时给我一个警告吗?

创建一个VS / r#规则来强制使用'this'调用非静态方法时

您可以使用https://stylecop.codeplex.com/,它可以检查此问题和许多其他格式化问题。有时它可能有点笨拙,所以禁用某些规则可能是一个好主意,如拼写检查(字典是有限的,添加单词要花费很多时间)和匈牙利符号检查(我觉得每第二个变量都是匈牙利语的stylecop....)

另外,我建议使用像autogenerated这样的特殊注释来关闭工具生成的代码的stylecop(比如实体框架代码优先迁移)

http://shishkin.wordpress.com/2008/07/08/stylecop-how-to-ignore-generated-code/