JetBrains Rider 2026.1 Help

代码检查:冗余的 [SetsRequiredMembers] 特性

在 C# 11 中引入的 [SetsRequiredMembers] 特性用于指示构造函数完全初始化某个类型中的所有必需成员。 必需成员使用 required 修饰符标记,确保在对象完全构造之前必须设置它们。 例如:

public class ExampleClass { public required string Name { get; init; } public required int Age { get; init; } [SetsRequiredMembers] public ExampleClass(string name, int age) { Name = name; Age = age; } }

此检查会报告将 [SetsRequiredMembers] 特性应用于构造函数但属于冗余的情况。 当类没有 required 成员,或基类构造函数已满足对必需成员的初始化时,可能会发生这种情况。

public class Example { [SetsRequiredMembers] // Redundant: No required members in the class public Example() { } }
public class Example { public Example() { } }

移除冗余的 [SetsRequiredMembers] 特性可使代码更简洁,并避免不必要的歧义。

2026年 3月 25日