代码检查:未访问的位置属性(私有可访问性)
C# 9 record 语法隐式定义了一组成员,包括 Equals()/GetHashCode()/ToString() 实现、与主构造函数参数对应的属性以及 Deconstruct() 方法。
考虑到所有这些隐式定义,JetBrains Rider 报告从未访问过的记录的位置属性。
class Test
{
record Person(
string Name,
int Age, // non-accessed positional property
object Tag
);
public void PrintName()
{
var (name, _, tag) = GetPerson();
Console.WriteLine(name);
}
private Person GetPerson() => new("Alex", 32, null);
}
class Test
{
record Person(
string Name,
object Tag
);
public void PrintName()
{
var (name, tag) = GetPerson();
Console.WriteLine(name);
}
private Person GetPerson() => new("Alex", null);
}
为了安全地移除冗余的位置成员, 移除未使用的属性 快速修复(Alt+Enter )调用 安全删除重构 以支持所有记录使用模式。 在上述示例中,JetBrains Rider 识别了所有 C# 解构形式中的间接使用,并能够从这些解构中移除相应的 _。
最后修改日期: 2025年 9月 26日