这真的是一个简化吗?

所以我有一个非常简单的带有Id字段的类,可以在构造函数中设置Id

通常我将使用this来清楚地标识类属性而不是方法参数。 对我来说,这似乎更清晰。

IDE0003希望我删除this ,并显示“名称可以简化”的消息,这是正确的吗?

这对我来说似乎不太清楚,并且还允许套管错误容易导致id = id

在此处输入图像描述

几乎总是不需要this关键字,请参阅何时使用“this”关键字? 。

允许套管错误很容易导致id = id

这将产生另一个警告:

对同一变量进行赋值; 你的意思是分配其他东西吗?

另一个问题的答案是,您可以配置编辑器以删除行为。 我个人喜欢“这个”

 Tools > Options > Text Editor > C# > Code Style and check Qualify member access with 'this' 

Visual Studio 2015 – 更改灯泡,快速操作设置

如果使用General Naming Conventionsthis关键字是多余的,因为参数应为id ,并且属性应基于Naming GuidelinesId 。 所以看起来很清楚:

 public int Id { get; private set; } public VSOMessage(int id) { Id = id; } 

请注意,指南本身没有说,使用或不使用this关键字,但由于C# 区分大小写 ,删除this关键字将是一种简化,但是当您不使用 命名约定时,您可以命名属性id而不是Id所以你应该在这种情况下使用this关键字。