Eza*_*ade 11 .net c# resharper this
可能重复:
您何时使用"this"关键字?
我刚刚开始使用Resharper来分析我的代码,它有很多建议我做的事情,我对它的输出非常满意,因为它也教会了我一些更好的做法.
显然,它的建议可以被忽略,其中一个我想从社区获得一些反馈!
我总是倾向于将'this'限定符用于属于当前类的属性(即this.Name).没有真正的理由 - 我似乎只是采用了这么多个月.
Resharper建议这是多余的,也许我应该删除它.
你怎么看?
Tim*_*ote 16
优选地,我this仅用于防止(可能)属性和函数参数之间的歧义
public class thing
{
private string name;
public thing(string name)
{
this.name = name; // will set private string name to param string name
}
}
Run Code Online (Sandbox Code Playgroud)
如果您已经在某个类的上下文中工作,那么记住这一点并不困难,我不需要提醒我每次处理一个本地变量时都会解决这个问题.
所以我认为resharper在这一方面是正确的.
Tej*_*ejs 12
我发现它多余,特别是有明确的编码标准:
Name // Property
_name // Member field
name // local variable
Run Code Online (Sandbox Code Playgroud)
使用this.<whatever>似乎更多的工作.
我个人认为使用this关键字是一个很好的做法,因为它清楚地表明prorerty/method/etc是否属于对象实例.这对于私有成员的命名特别有用,这样局部变量与私有成员无法区分:
/// some pretty long method
/// ...
frameCount += 1; // is it private memeber or some local defined above?
Run Code Online (Sandbox Code Playgroud)
毋庸置疑,最好不要使用它而不是使用不一致.
但是我发现不断使用thismake代码看起来很"吵",this因为它是无用的干扰器.IMO最好_为私人成员使用特殊的前缀命名:
/// some pretty long method
/// ...
_frameCount += 1; // it's clearly private memeber!
Run Code Online (Sandbox Code Playgroud)
打字也快得多.
使用它的一个优点.是intellisense.它缩小了您可以更快地选择的内容列表.
| 归档时间: |
|
| 查看次数: |
8578 次 |
| 最近记录: |