有时,在引用同一类(或基类)的其他实例成员的实例成员中读取代码可能会令人困惑:
public void MyMethod()
{
Where = did + AllTheseWeirdThings(GetDeclared()); // ?
}
Run Code Online (Sandbox Code Playgroud)
具有类似"使用"_"前缀所有私有/受保护成员的编码标准"没有帮助,因为实例成员仍然可以引用公共成员.
读这个会好得多:
public void MyMethod()
{
this.Where = this.did + base.AllTheseWeirdThings(this.GetDeclared()); // ?
}
Run Code Online (Sandbox Code Playgroud)
有没有办法强制执行此操作,无论是使用编译器选项,StyleCop还是类似的东西?
没有强制执行规则的编译器选项.
然而,粗略的谷歌搜索提出了这个StyleCop规则:http://www.thewayithink.co.uk/stylecop/sa1101.htm
ReSharper也有类似的选择.
| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |