代码检查:冗余的属性 [SetsRequiredMembers]
[SetsRequiredMembers] 属性是在 C# 11 中引入的,用于指示构造函数已完全初始化类型中的所有必需成员。 必需成员使用 必选 修饰符标记,确保在对象完全构造之前必须进行设置。 例如:
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] 属性为冗余的情况。 这可能发生在类中没有 必选 成员,或者基类构造函数已经满足了必需成员的初始化要求时。
public class Example
{
[SetsRequiredMembers] // Redundant: No required members in the class
public Example() { }
}
public class Example
{
public Example() { }
}
移除冗余的 [SetsRequiredMembers] 属性可以使代码更简洁并避免不必要的歧义。
最后修改日期: 2025年 9月 26日