9
votes

Préfixe de symbole '@' sur l'appel de la méthode C #?

Duplicaté possible: strong>

Quelle est l'utilisation / la signification de la @ caractère dans les noms variables en C #? p>

Je faisais du développement .NET et j'ai remarqué que je pouvais ajouter un symbole @ strud> avant tout appel de méthode, c'est-à-dire: p>

var message = dog.@SayHello();


1 commentaires

Stackoverflow.com/questions/91817/...


5 Réponses :


10
votes

Le symbole @ peut échapper aux mots-clés et les transformer en identificateurs ordinaires. La plupart des langues .NET prennent en charge un mécanisme comme celui-ci puisque les mots-clés dépendent de la langue et, ainsi que le code écrit dans d'autres langues pourrait entrer en collision avec un mot-clé dans votre langue sans même le remarquer.

Certaines personnes aiment utiliser @Chis Pour les premières méthodes d'extension de paramètre. xxx

Un autre scénario où cela peut être utile, c'est lors de l'utilisation de membres pour représenter des attributs HTML. Ensuite, sans cette fonctionnalité, vous ne pouvez pas représenter l'attribut class .


0 commentaires

6
votes

Un symbole @ code> peut être pré-fixé à n'importe quel identifiant au cas où vous interopérez avec le code écrit dans une autre langue utilise des mots-clés C # comme identifiant:

object @class; //allowed
object class;  //error


0 commentaires

6
votes

Ceci est simplement une partie du Définition de un identifiant valide en C #.


0 commentaires

1
votes

C'est un cas de simplement parce que nous peut , ne signifie pas que nous devrions . .


0 commentaires

3
votes

@ code> vous permet d'utiliser un identifiant qui serait interprété par exemple comme un mot clé.

Par exemple, si vous souhaitez avoir une classe nommée variable, vous pouvez écrire ceci: p>

int @class;


0 commentaires