Type générique T en parametre en null par défaut
Bonjour à tous,
J'ai un code qui fonctionne, mais j'essaye de le rendre plus générique.
Aujourd'hui, MVVM oblige, j'ai une interface pour chaque classe modèle.
Code:
1 2 3 4 5 6 7 8
| /// <summary>Interface de définition des méthodes d'accès, de création et d'édition des éléments ad hoc.</summary>
public interface IDataAccessServiceGroups {
/// <summary>Méthode abstraite, Signature de la méthode GetAll().</summary>
tblGridGroups GetAll(int page=0, tblGroup filter = null, string ordre = "lib");
tblGroup Add(tblGroup u);
tblGroup Upd(tblGroup u);
bool Del(tblGroup u);
} |
J'aimerais les mutualiser, j'ai donc fait un début de truc comme ça:
Code:
1 2 3 4 5 6 7
| public interface IDataAccessServiceGroups<G, T> {
/// <summary>Méthode abstraite. Signature de GetAll().</summary>
G GetAll(int page, T filter=null, string ordre = "lib");
T Add(T u);
T Upd(T u);
bool Del(T u);
} |
Seulement, il n'aime pas mon T filter=null, il dit:
"Impossible d'utiliser une valeur de type '<Null>' comme paramètre par défaut, car il n'existe pas de conversion standard en type 'T'"
J'ai cherché et je ne trouve pas comment le mettre en nullable.
Avez vous une idée ?
Merci d'avance.