ReSharper 2025.2 Help

代码检查:冗余属性 [SetsRequiredMembers]

[SetsRequiredMembers] 属性是在 C# 11 中引入的,用于指示构造函数已完全初始化类型中的所有 required 成员。 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] 属性可以使代码更加简洁并避免不必要的歧义。

最后修改日期: 2025年 9月 27日