Was ist das @namespace-Feld in der C # -Klasse? [Duplikat]

8

Ich stöbere den Quellcode von StyleCop , und ich fand eine kuriose Sache:

%Vor%

Was ist das Ding? Ist es nur ein einfaches Feld, in dem ein at-Zeichen verwendet wird, um anzuzeigen, dass es sich um ein Feld und nicht um ein namespace -Schlüsselwort handelt? Wenn ja, kann at-sign für jedes reservierte Wort verwendet werden (z. B. @dynamic , @using usw.)?

    
Arseni Mourzenko 12.05.2010, 11:23
quelle

5 Antworten

4

Ja @ Zeichen können vor reservierte Wörter gesetzt werden, damit sie als Variablennamen verwendet werden können.

%Vor%

Ich habe das und andere Dinge aus dieser Frage

gelernt     
Mike Two 12.05.2010, 11:25
quelle
6

Grundsätzlich ja. Wenn Sie @ vor den Variablennamen setzen, wird ein Fehler ausgelöst, der dadurch entsteht, dass der Variablenname ein Schlüsselwort ist.

Ссылка

    
Jason Evans 12.05.2010 11:25
quelle
1

Ja, Sie können @ als first and only first -Zeichen Ihrer Variablen verwenden.

    
Mike 12.05.2010 11:26
quelle
1

Diese Technik wird normalerweise mit automatischer Codeerzeugung gepaart, da Identifizierer erzeugt werden können, die Schlüsselwörter in einer Zielsprache sind, z. Wenn ein Xml-Schema über eine Code-Generierung verfügt, um C # -Klassen zu erzeugen, kann das Schema ein Attribut namens "event" haben. Dies ist ein C # -Schlüsselwort, daher kann der Code-Generator stattdessen "@event" verwenden.

    
Tim Lloyd 12.05.2010 11:44
quelle
0

Wie die anderen Leute genau geantwortet haben, können Sie reservierte Schlüsselwörter verwenden, solange Sie dann mit '@', aber IMHO vorangestellt haben, das ist keine gute Entwicklungspraxis. Ich würde es lieber nur in maschinengeneriertem Code verwenden (zum Beispiel in der Firma, für die ich arbeite, haben wir ein Werkzeug, das Java-Code in C # konvertiert; da in Java "Event" kein reserviertes Wort ist, könnte unser Java-Quellcode) solche Kennungen enthalten)

Beste

Adriano

    
Vagaus 12.05.2010 11:31
quelle

Tags und Links