« Programmation C sharp/Types génériques » : différence entre les versions

Contenu supprimé Contenu ajouté
Julien1311 (discussion | contributions)
m →‎Plusieurs types génériques : coloration syntaxique
Julien1311 (discussion | contributions)
Ligne 68 :
=== Syntaxe ===
Pour chaque type à contraindre, il faut ajouter une clause <tt>where</tt> :
<source lang=csharp>
where ''type'' : ''liste_des_interfaces''
</source>
Exemple :
<source lang=csharp>
public class TableauTriable<T>
where T : IComparable
{
''...''
//...
}
 
</source>
Il est possible d'utiliser <tt>class</tt> ou <tt>struct</tt> pour limiter le type à une classe ou une structure.
 
Exemple :
<source lang=csharp>
public class TableauTriable<T>
where T : struct
{
''...''
//...
}
</source>
 
Il est également possible d'ajouter des contraintes sur les constructeurs du type générique :
<source lang=csharp>
public class TableauTriable<T>
where T : new() // T doit avoir un constructeur sans paramètre
{
public T Creer(){
{ return new T(); } // appel au constructeur de T
}
}
</source>
 
== Opérateur <tt>default</tt> ==