Partager via


Erreur du compilateur CS1729

Mise à jour : novembre 2007

Message d'erreur

'type' ne contient pas de constructeur qui accepte les arguments 'nombre'.
'type' does not contain a constructor that takes 'number' arguments.

Cette erreur se produit lorsque vous appelez directement ou indirectement le constructeur d'une classe mais que le compilateur ne détecte pas de constructeurs ayant le même nombre de paramètres. Dans l'exemple suivant, la classe test ne possède pas de constructeur qui accepte les arguments. Elle ne dispose donc que d'un constructeur par défaut qui n'accepte pas d'arguments. Étant donné que dans la seconde ligne dans laquelle l'erreur est générée, la classe dérivée ne déclare pas de constructeur, le compilateur doit donc en fournir un par défaut. Ce constructeur appelle un constructeur sans paramètre dans la classe de base. L'erreur CS1729 est générée car la classe de base ne dispose pas d'un constructeur de ce type.

Pour corriger cette erreur

  1. Réglez le nombre de paramètres pour l'appel au constructeur.

  2. Modifiez la classe pour fournir un constructeur avec les paramètres que vous devez appeler.

  3. Fournissez un constructeur sans paramètre dans la classe de base.

Exemple

L'exemple suivant génère l'erreur CS1729 :

// cs1729.cs
class Test
{
    static int Main()
    {
        Test test = new Test(2); //CS1729
        return 1;
    }
}
public class Parent
{
    public Parent(int i) { }
}
public class Child : Parent { } // CS1729

Commentaires facultatifs