Ik ben een groot voorstander van properties. De logica staat centraal en het maakt de code overzichtelijker.
Natuurlijk is het mogelijk om een access modifier (public, private, protected, internal, or protected internal) te specificeren om de toegankelijkheid te bepalen.
Maar niet iedereen weet dat het ook mogelijk is om de access te overriden voor een getter/setter.
private string _name;
public string Name
{
get { return _name; }
private set { _name = value; }
}
Standaard wordt de access modifier van de property overgenomen, dus de getter is public.
De setter is echter private, en kan dus niet meer van buitenaf worden aangeroepen!
Dit is mogelijk vanaf 2.0.
Meer info