代码检查:未访问的位置属性(私有可访问性)
C# 9 记录 语法隐式定义了一组成员,包括 Equals() 方法/GetHashCode() 方法/ToString() 方法 实现、与主构造函数参数对应的属性以及 Deconstruct() 方法 方法。
考虑到所有这些隐式定义,ReSharper 报告从未访问过的记录的位置属性。
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 )调用 安全删除重构 以支持所有记录使用模式。 在上述示例中,ReSharper 能够识别所有 C# 解构形式中的间接使用,并能够从这些解构中移除相应的 _(下划线)。
最后修改日期: 2025年 9月 27日