Pour le but d'un cours que je développe, je recherche quelques exemples d'où Microsoft a déjà mis en œuvre des méthodes d'extension elles-mêmes. Mais comme les étudiants ne connaissent pas encore Linq, j'aimerais trouver un autre exemple. P>
Ainsi, existe-t-il des méthodes définies dans la framework .NET définie comme une méthode d'extension, mais ne se réfèrent pas à la framework LINQ ou iEnumerable? P>
4 Réponses :
.NET les utilise dans getcustomattributes
Bon exemple, je pourrais l'utiliser, même si je n'ai pas encore touché à la réflexion avec eux. J'ajouterai d'autres informations à la question sur le niveau des étudiants.
En outre, un méthode ListExtension
@Marnix ils sont relativement rares car ils ont été introduits il n'y a pas si longtemps, lorsque la plupart des cadres ont déjà existé.
Semble raisonnable. Je vais accepter cette réponse pour l'instant et voir comment je vais y traiter dans mon cours. Merci de penser.
@CSHARPIE 2007 n'est pas si longtemps pour vous? Plus de 11 ans, la décence est longue dans le domaine. La fonctionnalité est dans la langue depuis plus de deux fois plus de temps qu'elle en a été sans elle.
@Servy vous êtes Righgt .NET 3.5 les introduit. Pensait qu'ils sont venus beaucoup plus tard.
Oui, il y a des tonnes d'exemples Voici quelques points forts: P>
"Y a-t-il des méthodes définies dans la framework .NET ..." i>
Je veux leur montrer que .NET l'utilise également et qu'il pourrait être que vous voyez une fonction qui fait partie de, disons, une chaîne, mais vous ne pouvez pas le trouver dans système code>. Parfois, vous devez regarder plus loin et trouver la bonne bibliothèque. Tout comme lorsque vous oubliez de taper
à l'aide de system.linq code>
Mis à jour pour inclure un exemple. Désolé pour ça
@raHicks mais vous définissez vous-même la méthode de l'extension. OP demande des méthodes déjà définies dans le cadre .NET.
Il y en a encore quelques-uns. J'ai téléchargé le code source .NET Framework pour la version 4.8 (May 2019 Mise à niveau). Pour ce faire, cliquez dessus simplement sur Télécharger dans le Site Web de référence P>
Décompressez le fichier puis ouvrez la solution avec Visual Studio et recherchez (en utilisant des expressions régulières): p>
classe. * Extensions P> blockQuote>
Cela a renvoyé 61 coups à moi, je suis sûr que vous pourrez trouver des exemples appropriés pour votre cours. Je suppose que le meilleur serait
Diffensions Code> ( voir ici ) car il est facile de comprendre. P>
Oh c'est gentil! J'aime celui la. Merci.
Donc, quelle bibliothèque devrais-je importer dans mon projet pour obtenir cela? Le site Web de la source de référence indique qu'il devrait être dans System.Data et System.Activités.PRESENTATION, mais l'espace de noms de balance libre ne semble pas être dans ces bibliothèques. Comment le site Web de référence montre-t-il quelle bibliothèque dont j'ai besoin?
Il semble que les doubles sur les doublées font partie du cadre NetFX, qui peut être téléchargée à partir de Nuget.
@Marnix System.ACtivities. PROJET DEPRESENTATION DANS LE CODE SOURCE. Mais je ferais un petit projet une copie / coller le code de ne pas être dérangé par d'autres détails et dépendances
@Marnix c'est une classe code> interne code> que vous regardez, professeur ... vous attendiez-vous à l'utiliser pour quelque chose ou d'afficher simplement le code source comme exemple?
J'espérais leur laisser faire un exercice avec ça. N'a pas remarqué le mot-clé interne. Merci pour la notion.
Parce que vous faites des cours, peut-être le ZIPFILEEXTENSIONS est une bonne API. Les gens ont tendance à pouvoir envelopper leurs têtes autour des fichiers .zip et ces API sont généralement assez faciles à utiliser. p>
DataTableExtensions Class docs.microsoft.com/en-us/dotnet/ API / ...
Fichiers nommés ExensMethods.Cs dans le code source