Développement XNA pour la XBox et le PC
78
Les méthodes génériques permettent d’écrire des méthodes qui effectueront exactement
le même traitement, peu importe le type des paramètres passés. Vous avez utilisé une
méthode générique chaque fois que vous avez chargé une texture pour vos sprites.
texture = content.Load(assetName);
La déclaration d’une telle classe se fait de la manière suivante :
public static void Sample(T param)
{
//…
}
Vous pouvez également ajouter des conditions sur le type des paramètres. Le tableau 4-1
en dresse une liste :
Ajoutez une nouvelle classe au projet et nommez-la ServiceHelper. Elle fera office de
classe statique et contiendra un champ statique qui sera utilisé pour stocker une référence
vers votre classe Game.
static class ServiceHelper
{
static Game game;
public static Game Game
{
set { game = value; }
}
}
Ajoutez une méthode statique et générique : elle devra ensuite ajouter à la collection de
services l’objet qu’elle a reçu en paramètre.
public static void Add(T service) where T : class
{
game.Services.AddService(typeof(T), service);
}
Tableau 4-1 Différentes conditions possibles sur le type des paramètres
Contrainte
Description
where T : struct
Le type T doit être un type valeur.
where T : class
Le type T doit être un type référence.
where T : new()
Le type T doit disposer d’un constructeur public sans paramètres.
where T :
Le type T doit être dérivé de la classe spécifiée.
where T :
Le type T doit implémenter l’interface spécifiée.
=Labat FM.book Page 78 Vendredi, 19. juin 2009 4:01 16
Précédent

- 99/366

Suivant