Bonjour,

Le code suivant me provoque cette erreur de compilation :
"'T': cannot provide arguments when creating an instance of a variable type."

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
    public class MyList<T>
        where T : MyObjectBase, new()
    {
        public void Test()
        {
            T Myobj = new T("Test");
        }
 
    }
Or les types que je fournirais pour T ont un constructeur avec 1 argument de type string.

Existe-t-il une syntaxe (hormis la réflexion) pour permettre de spécifier une signature de constructeur obligatoire sur le type T ?

Est-il possible d'ailleurs à une classe de dire qu'elle implémente une certaine signature de constructeur, et d'obliger tous les descendant de cette classe d'implémenter cette signature de constructeur ?

Merci d'avance.

Sybaris