2010-07-05 24 views
0

Dans un exemple d'utilisation de la méthode de pool de threads BeginInvoke:Au cours des appels BeginInvoke, qu'est-ce que le paramètre @object référence?

... 
Func<string, int> method = someWorkMethod; 
IAsyncResult cookie = method.BeginInvoke("test", ... 

L'un des paramètres attendus (le dernier un), en BeginInvoke est:

object @object 

Qu'est-ce que le @ signifie?

Merci,

Scott

+0

doubles: http://stackoverflow.com/questions/429529/what-does-the-symbol-before-a-variable-name-mean-in-c; http://stackoverflow.com/questions/91817/whats-the-use-meaning-of-the-character-in-variable-names-in-c – serhio

+0

réponse complète: http://stackoverflow.com/questions/91817/ce qui est-la-utilisation intentionnée-de-la-noms à en caractères variables-c/92045 # 92045 – serhio

Répondre

3

Le @ est un symbole d'évasion qui vous permet d'utiliser des mots-clés comme noms de symboles. Par exemple, vous ne pouviez pas faire normalement:

object object = something; 

... parce que l'objet est un mot-clé, mais vous pouvez faire:

object @object = 

void DoSomething(params object[] @params) { 

... etc

+0

Ah, intéressant! J'avais complètement oublié à ce sujet. Question suivante - pourquoi voudrais-je introduire une confusion possible en utilisant un mot réservé ou est-ce que le cadre est juste aussi accommodant que possible? –

+0

Eh bien, la fonctionnalité est là pour vous de l'utiliser, si vous faites ou non, c'est à vous. Ils le permettent parce que parfois les mots-clés utilisent des descriptions parfaitement utilisables qui pourraient aussi être utilisées pour les noms de variables. Parfois, il est mal vu parce qu'ils se lisent essentiellement comme des mots-clés, donc vous devez décider si leur utilisation vaut la confusion? Je les utilise à l'occasion, il ne confondez pas l'enfer de certains :) –

+1

@Scott: Il est là aussi parce que le framework .NET est utilisable par d'autres langues, dont certains peuvent avoir des mots réservés ... (» objet "n'est pas un mot-clé dans toutes les langues .net" –

1

Il suffit d'évasion personnage. De cette façon, vous êtes autorisé à nommer les paramètres de votre choix, même s'il s'agit d'un mot clé réservé.