Was ist das C # äquivalent zu PHPs "self ::"?

8

Wenn ich in C # eine statische Methode einer Klasse von einer anderen statischen Methode dieser Klasse aufrufen möchte, gibt es ein generisches Präfix , das ich anstelle der Klasse wie PHP self:: verwenden kann Name?

Wie kann ich also im folgenden Beispiel statt Customer.DatabaseConnectionExists() etwas wie Self.DatabaseConnectionExists() sagen, also z. später, wenn ich den Namen der Klasse ändere, muss ich nicht alle Präfixe ändern?

%Vor%     
Edward Tanguay 13.05.2009, 12:03
quelle

5 Antworten

15

Es gibt keine echte Entsprechung - Sie müssen entweder den Klassennamen angeben, d. h.

%Vor%

oder den Qualifier ganz auslassen, d. h.

%Vor%

Der letztere Aufruf ist ratsam, da er einfacher ist und keine Bedeutung verliert. Außerdem ist es mehr inline mit der Methode, die Instanzen aufruft (d. H. Aufrufe von InstanceMethod() und nicht this.InstanceMethod() , was übermäßig ausführlich ist).

    
Noldorin 13.05.2009, 12:06
quelle
13

Wenn Sie die Methode innerhalb der Klasse aufrufen, müssen Sie nichts wie :: Selbst angeben, sondern nur den Methodennamen.

%Vor%     
Kirschstein 13.05.2009 12:06
quelle
4

Lass es einfach aus. DatabaseConnectionExists ist innerhalb der Klasse definiert.

    
Dario 13.05.2009 12:06
quelle
2

Nennen Sie es einfach ohne Präfix.

    
Alex Jenter 13.05.2009 12:06
quelle
0

Nein, gibt es nicht. Aber mit den Refactor-Tools sollten Sie sich nicht zu sehr um den Namen einer Klasse kümmern.

    
fbinder 13.05.2009 12:06
quelle

Tags und Links