Journal du Net > Développeurs > Contributions > Soumettez votre meilleure astuce C#

APPEL
A CONTRIBUTION

Le C# n'a plus de secret pour vous. Vous l'exploitez au quotidien dans vos projets. Vous êtes prêt à partager une astuce qui vous a permis de gagner du temps !
Participez
 Contraintes de type dans les Generics  
Jean-Pierre Thomasset , Lyon

Quel est en quelques lignes l'objectif de votre astuce ?
Imposer des contraintes aux paramètres Type des classes Generics.

Décrivez votre astuce en détails. N'hésitez-pas à inclure des portions de codes.
Les contraintes sur les types sont très utiles dans les Generics dans les cas ou par exemple l'on souhaite à l'intérieur de la classe générique appeler des méthodes ou des constructeurs de ces types sans réellement en connaitre le type réel.

Par exemple, si on souhaite pouvoir créer une instance d'un type passé en paramètre on peut utiliser :

class Creator where T: new()
{
public static T CreateInstance()
{
return new T();
}
}
et si on l'utilise :

string sTest = Creator.CreateInstance();

De la même manière on peut imposer l'implémentation d'interfaces :

interface IInterface1
{
int Function1();
}

interface IInterface2
{
int Function2();
}

class Test where T: IInterface1, IInterface2
{
public int DoSomething(T myObject)
{
return myObject.Function1() + myObject.Function2();
}
}

C'est très utile lorsque l'on travaille avec des type génériques et que l'on souhaite avoir quand même un minimum de vérifications lors de la compilation.


Publié le 03 octobre 2007

Soyez le premier ou la première à réagir à ce temoignage : réagir
3 contributions : 1 2 3
 




 

© Benchmark Group, 69-71 avenue Pierre Grenier 92517 BOULOGNE BILLANCOURT Cedex

RECHERCHER