Ich gehe davon aus, dass Sie keinen Code schreiben, der von Drittentwicklern aufgerufen wird, die ihren Code nicht neu kompilieren können, wenn Sie Ihren Code ändern. (z. B. dass Sie nicht für Microsoft arbeiten, das das .Net-Framework schreibt, ist es selbst, oder DevExpress, das einen Kontrolltoolkip schreibt). Denken Sie daran, dass Microsofts .NET-Framework-Codierungsstandard für die Leute ist, die das Framework schreiben, und versucht, viele Probleme zu vermeiden, die keine Probleme sind, wenn Sie kein Framework für die Verwendung von Drittentwicklern schreiben.
Der zweite Fall, der eine Angemessenheit definiert, der einzige wirkliche Vorteil der tun, ist, dass die Datenbindung nicht mit Feldern funktioniert. Es gibt jedoch einen großen politischen Vorteil bei der Verwendung von Eigenschaften, Sie erhalten viel weniger ungültige Beschwerden von anderen Entwicklern, die Ihren Code betrachten.
Alle anderen Vorteile für Eigenschaften (die in den anderen Antworten auf Ihre Fragen gut erklärt werden) sind für Sie zur Zeit nicht von Interesse, da jeder Programmierer, der Ihren Code verwendet, das Feld bei Bedarf später ändern kann kompilieren Sie einfach Ihre Lösung.
Allerdings ist es nicht wahrscheinlich, dass Sie für die Verwendung von Eigenschaften gestapelt werden, so dass Sie auch immer öffentliche Eigenschaften eher die Felder verwenden.
Ich denke, ich dachte nicht wirklich über die Kernunterschiede zwischen Eigenschaften und Feldern, wenn ich die Frage dankend stellte. –
Sind das nicht alle semantischen Unterschiede? Ich versuche nicht, die Unterschiede zu trivialisieren - ich versuche nur zu betonen, dass "Semantik" keine triviale Angelegenheit ist. Es ist die Bedeutung von Wörtern: Wenn zwei Wörter völlig unterschiedliche Bedeutungen haben, dann sind sie semantisch verschieden, genauso wie Felder und Eigenschaften. –
Ich denke, das hängt stark davon ab, wie öffentliche Felder vom LI-Interpreter implementiert werden. Wenn sie genau wie Eigenschaften behandelt werden (und sich so wie Funktionsaufrufe verhalten), dann habe ich recht. – scraimer