Skip to content

C# Feature – Required members

required enforces that specified members must be set during object initialization.

C# 11 (2022)

public class User { public string Email { get; set; } /* risk of missing init */ }
public class User { public required string Email { get; init; } }
var u = new User { Email = "a@b.com" }; // required
public record Customer(string Id)
{
public required string Name { get; init; }
}
  • Use with init for immutable models.
  • C# 11: required introduced.
  • C# 12+: Works smoothly with primary constructors.