392 votes

Ce qui est un groupe de méthodes en c# ?

J'ai souvent rencontré une erreur du type "impossible de convertir de 'méthode de groupe" à la "chaîne" dans des cas comme :

var list = new List<string>();
// ... snip
list.Add(someObject.ToString);

bien sûr, il y a une faute de frappe dans la dernière ligne parce que j'ai oublié la ronde paranthesis après "ToString". La forme correcte serait :

var list = new List<string>();
// ... snip
list.Add(someObject.ToString()); // <- notice the paranthesis

Cependant j'en suis venu à me demander qu'est ce qu'une méthode de groupe. Google n'est pas beaucoup d'aide et de MSDN ni.

366voto

Marc Gravell Points 482669

Une méthode de groupe est le nom d'un ensemble de méthodes (qui pourrait en être un), par exemple, dans la théorie de l' ToString méthode peut avoir plusieurs surcharges (en plus de toutes les méthodes d'extension): ToString(), ToString(string format), etc - par conséquent ToString , en soi, est une "méthode de groupe".

Généralement, il peut convertir une méthode de groupe à un (dactylographié) délégué à l'aide de la résolution de surcharge - mais pas à une chaîne de caractères etc; ça n'a pas de sens.

Une fois que vous ajoutez paranthesis, de nouveau; résolution de surcharge se déclenche et vous avez clairement identifié un appel de méthode.

180voto

Kaeles Points 761

En outre, si vous utilisez LINQ, vous pouvez apparemment faire quelque chose comme `` .

Ainsi, par exemple, j’ai :

Au lieu de déclarer explicitement la variable à utiliser comme ceci :

Je peux simplement omettre le nom du var :

34voto

Jack Points 845

Vous pouvez convertir un groupe de « méthodes » dans un délégué.

La signature du délégué sélectionne 1 méthode hors du groupe.

Cet exemple sélectionne la surcharge de ToString () qui prend un paramètre de chaîne :

Cet exemple sélectionne la surcharge de ToString qui ne prend aucun paramètre :

22voto

oscarkuo Points 5849

Le premier résultat dans votre recherche MSDN a dit

Le groupe de méthodes identifie l’une des méthodes pour appeler ou l’ensemble des méthodes surchargées parmi lesquelles choisir une méthode spécifique à appeler

ma compréhension est que fondamentalement parce que lorsque vous écrivez juste someInteger.ToString, il peut se référer à

ou il peut renvoyer à

Il est donc appelé un groupe de méthodes

20voto

1800 INFORMATION Points 55907

Le `` fonction a de nombreuses surcharges - le groupe de méthodes serait le groupe composé de tous les surcharges différentes pour cette fonction.

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