Possible en double:
Why doesn’t VS 2008 display extension methods in Intellisense for String classLes extensions LINQ énumérables sont masquées sur les chaînes ... pourquoi et comment?
Salut à tous.
Hier, j'ai remarqué que Enumerable
exstensions LINQ sont cachés sur les chaînes (je veux dire caché de l'intellisense). Nous savons tous que string est un IEnumerable<char>
, donc automatiquement il devrait obtenir des extensions Enumerable, et compile et fonctionne réellement si vous les utilisez, mais pourquoi les développeurs .NET ont décidé de les cacher à intellisense? Et enfin, comment pouvons-nous cacher les méthodes d'extension d'un type spécifique?
P.S. désolé pour mon mauvais anglais ...
EDIT: Je oublié de dire que je suis sur le ciblage NET 3.5 VS 2008
EDIT2: Voici 2 images de ce qui se passe:
IntelliSense sur la chaîne:
Intellisense on string http://img690.imageshack.us/img690/10/stringintelli.png
IntelliSense sur IEnumerab le:
Intellisense on enumerable http://img101.imageshack.us/img101/8828/enumintelli.png
Avez-vous référencé System.Core comme un assembly? – codekaizen
@codekaizen: Oui, je le fais – digEmAll
Je ne sais pas pourquoi il est caché, mais je peux vérifier que les méthodes d'extension sont cachées pour les chaînes dans VS 2008, mais pas dans VS 2010. – Guffa