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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.