Errore del compilatore CS1729

Aggiornamento: novembre 2007

Messaggio di errore

'tipo' non contiene un costruttore che accetta gli argomenti 'numero'.
'type' does not contain a constructor that takes 'number' arguments.

Questo errore si verifica quando si richiama direttamente o indirettamente il costruttore di una classe ma il compilatore non trova alcun costruttore con lo stesso numero di parametri. Nell'esempio seguente, la classe test non ha costruttori che accettano qualsiasi argomento. Pertanto ha solo un costruttore predefinito che le accetta zero argomenti. Nella seconda riga in cui viene generato l'errore, la classe derivata non dichiara alcun costruttore pertanto il compilatore fornisce un costruttore predefinito. Il costruttore richiama un costruttore senza parametri nella classe di base. La classe di base ha tale costruttore, pertanto viene generato l'errore CS1729.

Per correggere l'errore

  1. Modificare il numero di parametri nella chiamata al costruttore.

  2. Modificare la classe per fornire un costruttore con i parametri che è necessario chiamare.

  3. Fornire un costruttore senza parametri nella classe di base.

Esempio

Nell'esempio seguente viene generato l'errore 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

Commenti facoltativi