The required Modifier
Force callers to set essential properties.
The required Modifier
The required modifier forces callers to set a property (or field) when creating an object. It moves "you forgot a value" errors from runtime to compile time.
using System;
class Person {
public required string Name { get; init; }
}
var p = new Person { Name = "Ada" };
Console.WriteLine(p.Name); // AdaOmitting a required Member Fails to Compile
If a caller leaves out a required member, the compiler reports an error before the program ever runs.
using System;
class Person {
public required string Name { get; init; }
}
// var bad = new Person { }; // compile error: Name is required
var good = new Person { Name = "Lin" };
Console.WriteLine(good.Name); // LinAll lessons in this course
- init-Only Setters
- The required Modifier
- Immutable Object Patterns
- with Expressions on Records