Ich bin mir nicht sicher, ob ich das richtig formuliert habe ... aber ich habe den folgenden Code:
%Vor%Natürlich bekomme ich ein Lese-Problem ... das verstehe ich. Gibt es trotzdem, um diesen Eigenschaftswert zu setzen, ohne etwas wie das Folgende tun zu müssen:
%Vor%oder
%Vor%Vielen Dank im Voraus!
Ich würde dafür gehen:
%Vor%Natürlich wäre es offen für die Einstellung innerhalb dieser Klasse, aber da Sie es schreiben, hoffe ich, dass Sie den Sinn haben, Ihre eigenen Absichten nicht zu brechen ...
Meiner Meinung nach sind Dinge wie Leseeigenschaften vor allem wichtig, wenn man sie von außen betrachtet. Von innen ist es egal, was es ist, denn dort bist du der König =)
Ich fürchte, Ihre Frage ist nicht sehr klar - aber wenn kein Property Setter definiert ist, dann können Sie ihn sicher nicht nennen.
Sind Sie tatsächlich nach einer automatisch implementierten schreibgeschützten Eigenschaft, die nur innerhalb des Konstruktors gesetzt werden kann? Wenn ja, ich fürchte, das ist nicht verfügbar, so wie ich es gerne hätte.
Nur um zu erweitern, was ich meine, würde ich wie gerne tun können:
%Vor%Grundsätzlich wäre es "mache eine Eigenschaft wie ein Readonly-Feld."
Verwenden Sie einen privaten Setter oder legen Sie das Hintergrundfeld fest?
(Aber dann müssen Sie sicherstellen, dass der Name Ihres Hintergrundfelds anhand des Eigenschaftsnamens ermittelt werden kann.
Zum Beispiel indem Sie sicherstellen, dass Ihr Backing-Feld immer denselben Namen wie der Eigenschaftsname hat, aber mit einem Unterstrich versehen ist; wie NHibernate
macht es mit seinen Zugriffsstrategien).
Tags und Links c# properties