public class VehicleMetadata {
public required DateOnly ManufactureDate { get; init; }
public required bool IsTaxed { get; init; }
public required VehicleClass Class { get; init; }
public VehicleMetadata() { } // Leave the default constructor still available
// This is a new helper ctor that sets all three properties from an official government 'vehicle code' string
[SetsRequiredMembers]
public VehicleMetadata(string governmentalDatabaseMetadataCode) {
var split = governmentalDatabaseMetadataCode.Split('-');
ManufactureDate = new DateOnly(Int32.Parse(split[0]), Int32.Parse(split[1]), Int32.Parse(split[2]));
IsTaxed = Boolean.Parse(split[3]);
Class = Enum.Parse<VehicleClass>(split[4]);
}
}
static void Test() {
var m = new VehicleMetadata("1990-01-19-True-Car");
}
Code snippet taken from "Complete C# Quick Reference - C# 11".