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;
}
}