在C#中,正在访问当前对象';通过this.XYZ创建的属性与仅使用XYZ相比,被认为是糟糕的样式

在C#中,正在访问当前对象';通过this.XYZ创建的属性与仅使用XYZ相比,被认为是糟糕的样式,c#,coding-style,C#,Coding Style,这是一个从不使用this.XYZ构造的简单例子吗?只有当它违反了您的样式指导原则时,才被认为是糟糕的样式。有时需要使用此将成员变量限定为局部变量: public MyType(int arg) { this.arg = arg; } 使用样式指南也可以缓解此问题。例如,在成员前面加上“u”: 只有当它违反了你的风格准则时,才被认为是糟糕的风格。有时需要使用此将成员变量限定为局部变量: public MyType(int arg) { this.arg = arg; } 使用样

这是一个从不使用this.XYZ构造的简单例子吗?

只有当它违反了您的样式指导原则时,才被认为是糟糕的样式。有时需要使用
将成员变量限定为局部变量:

public MyType(int arg)
{
    this.arg = arg;
}
使用样式指南也可以缓解此问题。例如,在成员前面加上“u”:


只有当它违反了你的风格准则时,才被认为是糟糕的风格。有时需要使用
将成员变量限定为局部变量:

public MyType(int arg)
{
    this.arg = arg;
}
使用样式指南也可以缓解此问题。例如,在成员前面加上“u”:


我不会说它的风格不好,但它不是特别地道

我几乎唯一使用
this.foo
的是将参数复制到字段中:

public Person (string name, string occupation)
{
   this.name = name;
   this.occupation = occupation;
}

我不会说它的风格不好,但它不是特别地道

我几乎唯一使用
this.foo
的是将参数复制到字段中:

public Person (string name, string occupation)
{
   this.name = name;
   this.occupation = occupation;
}

我从没听说过这是一个风格问题。我过去总是这样做来获得智能感知,但后来我开始使用ctrl-j,然后我发现自己不用拐杖就能记住对象的属性


可能是因为随着我获得更多的经验,我的对象变得不那么复杂…

我从来没有听说过这是一个风格问题。我过去总是这样做来获得智能感知,但后来我开始使用ctrl-j,然后我发现自己不用拐杖就能记住对象的属性



可能是因为随着我获得更多的经验,我的对象变得不那么复杂…

我总是使用这个。对于全局变量。这样,我就可以清楚地知道我使用的是一个全局变量,而不必使用像“\u”这样的前缀。对于全局变量。这样,在分析源代码时,我可以清楚地知道我使用的是全局变量,而不必使用像“z”这样的前缀。

MS工具StyleCop坚持使用This.XYZ(或者应该是This.XYZ)变量。

MS工具StyleCop坚持使用This.XYZ(或者应该是This.XYZ)分析源代码时的变量。

字段前面没有下划线?没有。我从来没有在我的个人密码。我曾在有工作的地方工作过,也曾在没有工作的地方工作过。我再也不在乎了。让我害怕的是,我只是下意识地使用了“行尾括号”,这是谷歌风格,而不是我的个人风格。编辑…一般来说,(除了在初始值设定项-cctors中)我总是在构造函数中设置公共属性,而不是私有字段。。。所以ctor参数是小写的,属性是大写的。。。(不需要这样做。)Name=Name;查尔斯:如果字段是只读的,因此属性没有setter,那么这就不起作用了……您的字段前面没有下划线?没有。我从来没有在我的个人密码。我曾在有工作的地方工作过,也曾在没有工作的地方工作过。我再也不在乎了。让我害怕的是,我只是下意识地使用了“行尾括号”,这是谷歌风格,而不是我的个人风格。编辑…一般来说,(除了在初始值设定项-cctors中)我总是在构造函数中设置公共属性,而不是私有字段。。。所以ctor参数是小写的,属性是大写的。。。(不需要这样做。)Name=Name;查尔斯:如果字段是只读的,因此属性没有setter,那么这就不起作用了……是的,因为前缀“this.”比前缀“u3;”容易得多。)嗯,我认为这更清楚。智能感知就在那里。。。这是框架的一部分。。那么为什么不呢?我必须补充一点,如果你一直这么做,而且不仅仅是为了参数传递到全局,那么代码就很容易理解,因为它总是一样的。不是“有时”它用于全局,有时不用于。。。但这只是我的意见。是的,有道理。我还没有参与过一个需要加上“this”前缀的项目,所以我没有任何定期这样做的经验。我只是在开玩笑……没问题,我认为这只是一个观点,它们不是什么好答案。是的,因为前缀“this”比前缀“_z”要容易得多。)嗯,我认为这更清楚。智能感知就在那里。。。这是框架的一部分。。那么为什么不呢?我必须补充一点,如果你一直这么做,而且不仅仅是为了参数传递到全局,那么代码就很容易理解,因为它总是一样的。不是“有时”它用于全局,有时不用于。。。但这只是我的意见。是的,有道理。我还没有参与过一个需要加上“this”前缀的项目,所以我没有任何定期这样做的经验。我只是开玩笑…没问题,我认为这只是一个观点,它们不是什么好答案。这只是基于它的默认规则。您可以自定义规则以适合您的组织或团队。这只是基于其默认规则。您可以自定义规则以适合您的组织或团队。