373 votes

Utilisation du mot-clé « this » dans paramètres formels pour les méthodes statiques en c#

Je suis tombé sur plusieurs exemples de code c# comme suit :

Je n’ai pas été en mesure de trouver une explication de ce que le `` mot clé signifie dans ce cas. Des idées ?

344voto

Preet Sangha Points 39414

Il s’agit d’une méthode d’extension. Voir ici pour une explication.

Cela signifie que vous pouvez appeler

au lieu de

Cela permet la construction d’interfaces couramment indiquée ci-dessous.

98voto

James Wiseman Points 18347

Scott Gu cité billet de blog , il explique bien.

Pour moi, la réponse à la question est dans l'instruction suivante dans ce post:

Notez comment la méthode statique ci-dessus a une "ce" mot-clé avant de la première paramètre argument de type chaîne de caractères. Cela indique au compilateur que cette particulier de la Méthode d'Extension doit être ajoutés à des objets de type "string". Dans le IsValidEmailAddress() la méthode de la mise en œuvre, je peux alors l'accès de tous les publics propriétés, méthodes et événements de l' chaîne réelle instance de la méthode l'a appelée, et retour vrai/faux selon qu'il est une adresse email valide ou pas.

12voto

<sup>En plus de l’explication de Preet Sangha :</sup>
IntelliSense affiche les méthodes d’extension avec une flèche bleue (par exemple en face de « Global  ») :

enter image description here

Vous avez besoin d’un

pour les méthodes d’extension de comparaître et d’être disponibles, si elles sont dans un espace de noms différent que le code leur utilisation.

7voto

JP Alioto Points 33482

Ce sont des méthodes d’extension. Bienvenue dans un tout nouveau monde fluent. :)

5voto

jpoh Points 2610

J’ai moi-même appris juste l’autre jour : le mot clé this définit que la méthode a est une extension de la classe qu’il procède. Donc pour votre exemple, MyClass aura une nouvelle méthode d’extension appelée Foo (qui n’accepte aucun paramètre et retourne un int ; il peut être utilisé comme avec toute autre méthode public).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X