required修饰符

184 阅读1分钟

1.基础概念

  • required 修饰符,它主要用于类、结构体中的字段和属性,其核心作用是确保这些成员在对象实例化时必须被显式赋值。
  • required成员必须在使用对象初始化器或者在标记了[SetsRequiredMembers]的构造函数中初始化。
  • 当一个类派生自包含 required 成员的基类时,派生类同样需要确保这些 required 成员被正确初始化。
public class Person
{
    //修饰属性
    public required string Name { get; set; }
    //修饰字段
    public required int age;
}

2.对象初始化时必须赋值

//使用对象初始化器
Person p = new Person() { Name = "LiHua", age = 25 };

3.构造函数初始化

  • 构造函数初始化需要[SetsRequiredMembers]特性授权
using System.Diagnostics.CodeAnalysis;
​
Person p = new Person("LiHua", 25);
​
public class Person
{
    // 修饰属性
    public required string Name { get; set; }
    // 修饰字段
    public required int Age;
    //添加构造函数标记
    [SetsRequiredMembers]
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}