Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Impossibile creare un'istanza del tipo di variabile 'tipo' perché non include il vincolo new().
Cannot create an instance of the variable type 'type' because it does not have the new() constraint
Questo errore si verifica quando si utilizza l'istruzione new per creare un'istanza di una variabile di un tipo in cui non è specificato il vincolo new(). Non è possibile utilizzare l'istruzione new per chiamare direttamente il costruttore di un tipo sconosciuto, a meno che non si specifichi il vincolo new() per garantire l'esistenza di un costruttore predefinito. Se il vincolo new non può essere utilizzato, provare ad accedere al costruttore desiderato utilizzando un'espressione typeof.
Il seguente codice di esempio genera l'errore CS0304:
// CS0304.cs
// compile with: /target:library
class C<T>
{
T t = new T(); // CS0304
}
L'utilizzo dell'istruzione new di questo form non è consentito nemmeno nei metodi di classe:
// CS0304_2.cs
// compile with: /target:library
class C<T>
{
public void f()
{
T t = new T(); // CS0304
}
}