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
Passen Sie die Anzahl der Parameter im Aufruf an den Konstruktor an.
Ändern Sie die Klasse so, dass sie einen Konstruktor mit den Parametern, die aufgerufen werden müssen, bereitstellt.
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