Compilerfehler CS1729

Aktualisiert: November 2007

Fehlermeldung

"Typ" enthält keinen Konstruktor, der "Anzahl" Argumente akzeptiert.
'type' does not contain a constructor that takes 'number' arguments.

Dieser Fehler tritt auf, wenn Sie den Konstruktor einer Klasse direkt oder indirekt aufrufen und der Compiler keine Konstruktoren mit dieser Anzahl von Parametern finden kann. Im folgenden Beispiel verfügt die test-Klasse über keine Konstruktoren, die Argumente annehmen. Daher verfügt sie nur über einen Standardkonstruktor, der keine Argumente annimmt. Da die abgeleitete Klasse in der zweiten Zeile, in der der Fehler ausgelöst wird, keine eigenen Konstruktoren deklariert, stellt der Compiler einen Standardkonstruktor bereit. Dieser Konstruktor ruft in der Basisklasse einen parameterlosen Konstruktor auf. Da die Basisklasse über keinen solchen Konstruktor verfügt, wird der Fehler CS1729 ausgelöst.

So beheben Sie diesen Fehler

  1. Passen Sie die Anzahl der Parameter im Aufruf an den Konstruktor an.

  2. Ändern Sie die Klasse so, dass sie einen Konstruktor mit den Parametern, die aufgerufen werden müssen, bereitstellt.

  3. Stellen Sie in der Basisklasse einen parameterlosen Konstruktor bereit.

Beispiel

Durch das folgende Beispiel wird der Fehler CS1729 ausgelöst:

// 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

Optionale Kommentare