Paramètres de type générique (C#)

Guide de référence du programmeur C# 
Paramètres de type générique (guide de programmation C#) 

Dans un type ou une méthode générique, les paramètres de type représentent un espace réservé pour un type spécifique qu'un client spécifie quand il instancie une variable du type générique. Une classe générique, telle que GenericList<T> répertoriée dans Introduction aux génériques (guide de programmation C#), ne peut pas être utilisée en l'état car il ne s'agit pas vraiment d'un type ; c'est plus comme un plan pour un type. Pour utiliser GenericList<T>, le code client doit déclarer et instancier un type construit en spécifiant un argument de type à l'intérieur de crochets. L'argument de type pour cette classe particulière peut être tout type reconnu par le compilateur. Il est possible de créer un nombre quelconque d'instances de type construit, chacun à l'aide d'un argument de type différent, comme suit :



C#
GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();

Dans chacun de ces instances de GenericList<T>, chaque occurrence de T dans la classe sera substituée au moment de l'exécution avec l'argument de type. Par cette substitution, nous avons créé trois objets distincts de type sécurisé et efficaces à l'aide d'une seule définition de classe. Pour plus d'informations sur la façon dont cette substitution est exécutée par le CLR, consultez Génériques dans le runtime (guide de programmation C#).

Indications concernant l'attribution d'un nom aux paramètres de typeIndications concernant l'attribution d'un nom aux paramètres de type
  • Nommez les paramètres de type générique avec des noms descriptifs, sauf si un nom composé d'une seule lettre est explicite et un nom descriptif n'ajouterait pas de valeur.



    C#
    public interface ISessionChannel<TSession> { /*...*/ }
    public delegate TOutput Converter<TInput, TOutput>(TInput from);
    public class List<T> { /*...*/ }
    
  • Envisagez l'utilisation de T comme nom de paramètre de type pour les types ayant un paramètre de type d'une seule lettre.



    C#
    public int IComparer<T>() { return 0; }
    public delegate bool Predicate<T>(T item);
    public struct Nullable<T> where T : struct { /*...*/ }
    
  • Préfixez les noms des paramètres de type descriptifs avec "T".



    C#
    public interface ISessionChannel<TSession>
    {
        TSession Session { get; }
    }
    
  • Pensez à indiquer les contraintes placées sur un paramètre de type dans le nom de paramètre. Par exemple, un paramètre contraint à ISession peut être appelé TSession.

Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/0zk36dx2(VS.80).aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-7165
Document créé le 08/11/06 03:36, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-0zk36dx2(VS.80).html Document affiché 9 fois ce mois de Mai.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,62 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Chuck Norris joue à World of Warcraft ET a une vie sociale.

Anonyme [Chuck Norris fact]
 
l'infobrol
Nous sommes le Mercredi 30 Mai 2012, 14:03, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)