Sie haben Recht - es ist sehr eine Präferenz Sache. Natürlich erzwingen viele Unternehmen eine Reihe von Richtlinien für den Codierungsstil, die entweder this
vor einem Instanzmitglied erfordern oder verlangen, dass sie nicht angezeigt wird. (Weiß jemand, was die Microsoft FxCop-Regeln für das .NET-Framework sind?)
Persönlich, ich bevorzuge this
erscheinen vor jeder Eigenschaft, Methode oder Feld, das zu einer Instanz gehört. Es macht es einfacher für mich zu unterscheiden, wo es hingehört:
- Ein Mitglied einer Instanz der Klasse (mit dem Präfix
this
)
- Ein statisches Klassenmitglied (die ich mit dem Namen der Klasse Präfix)
- Ein lokaler Variable Umfang (kein Präfix)
es ist mehr wichtig für mich meinen Code in der Lage seine weniger zweideutig zu lesen, als es die 5 Zeichen von this.
zu retten ist. Zum Beispiel weiß ich sofort, dass ich dispose()
alle lokalen Bereich Elemente, die in diesem Bereich geöffnet werden müssen, und ich verwechsle sie nicht mit den Instanz-Mitglieder, die nicht entsorgt werden sollten. Verdammt, nur für zusätzliche Faulheitspunkte benutze ich this.
als einen schnellen Weg, um auf die Intellisense-Liste von Mitgliedern der Instanzmitglieder zuzugreifen.
Eine weitere Ausnahme ist die Verwendung einer Erweiterungsmethode innerhalb der Klasse, die erweitert wurde. Sie müssen dies verwenden. – Samuel
Das stimmt. Wenn Sie die Klasse jedoch steuern, sollten Sie sich überlegen, ob Sie Erweiterungsmethoden verwenden möchten, und stattdessen nur Klassenmethoden verwenden. Und wenn Sie die Klasse nicht kontrollieren, können Sie nicht in diese (keine Wortspiel beabsichtigt) Situation geraten. –
^^ guter Punkt. Die einzige Ausnahme ist, wenn Sie Erweiterungsmethoden verwenden, die * Schnittstellen * als Parameter akzeptieren. In diesem Fall sind Erweiterungsmethoden die einzige Option :-) –