I have several classes that are immutable once their initial values are set. Eric Lippert calls this write-once immutability.
Implementing write-once immutability in
If the class is truly immutable, just use public readonly fields marked with attributes.
[DataContract()] public class Immutable { [DataMember(IsRequired=true)] public readonly string Member; public Immutable(string member) { Member = member; } }