Constructors in D are allowed to initialize fields that would be otherwise disallowed. Thread safety is done in D with `shared` and `immutable`, so C#'s method of ensuring it is not particularly relevant to D.