Ich verwende Propertys IMMER wenn ich von außen auf public Member einer Klasse zugreife.
Innerhalb der Klasse gemischt. Ich sehe einfach den Sinn nicht dass ich für eine Feld immer ein Property erstellen soll wenn es Anforderung an der Kontrolle gibt. Die Variante mit dem Class Operator finde ich sehr Sinnvoll. So wie es aussieht könnte man damit dem direkten Zugriff auf die Felder einen Rigel vorschieben.
Es geht um den Namen....Wenn Du ein mentales Problem damit hast, das Feld statt das Property zu verwenden, dann gewöhne Dich an eine gute Namensgebung, also zB niemals auf ein Feld zugreifen, welches mit f beginnt. Wenn Du trotzem kein Property daraus machen willst, dann lass das f weg. Sollte es doch mal ein Property werden, wird das Feld umbekannt und ein Property eingeführt, welches den bisherigen Namen bekommt.
Bei uns haben Felder für Properties eine andere Namensgebung als Felder ohne Properties. Und das ist bei uns Pflicht. Wenn man sich einmal daran gewöhnt hat, die Felder für Properties nur in bestimmten Situationen zu verwenden dann klappt das recht gut.