Ich halte es eher mehr nach Nice-Code.
Wenn diese "Funktion" logisch zu einer Reihe anderer Property gehört, dann mach ich das als ReadOnly-Property, damit es sich in der Klassendeklaration ansehnlicher einfügt.
Im Programmablauf ist es egal, da der Compiler das Property durch die Funktion ersetzt hat.
UND bei Custom-Klassen mach ich es eben so, denn Property kann man später in der Sichtbarkeit einfach verschieben.
Zitat:
Zusätzlich noch mit class und static/inline deklarationen.
Das Zusätzlich war falsch und kann hier auch falsch sein,
wenn auf Daten der Objektinstanz zugegriffen werden soll.
class function = Methode an der Klasse (nur globale Funktion ohne Bindung an eine Instanz)
function = Methode am Objekt, inkl. Zugriff auf Felder/Methoden dieser Instanz
static = statische Funktion > ohne SELF-Variable
Hier hat man nichtmal mehr Zugriff auf den aktuellen Klassentyp, bei abgeleiteten Klassen.
> der implizite SELF-Parameter wird nicht übergeben, was den Funktionsaufruf kleiner macht
> Letztendlich ist der Aufruf genau so, wie bei einer "normalen" Funktion, welche nicht in einer Klassendefinition steckt (zuzüglich Zugriff auf z.B. Class-Vars)