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
Type parameter '<typeparametername1>' must have either a 'New' constraint or a 'Structure' constraint to satisfy the 'New' constraint for type parameter '<typeparametername2>'
Un tipo generico viene costruito in un'istruzione passando un parametro di tipo non vincolato per soddisfare un vincolo New.
Il vincolo New indica che l'argomento di tipo fornito a quel parametro di tipo deve esporre un costruttore privo di parametri accessibile al codice che crea gli oggetti da esso. Tutti i tipi di valori contengono costruttori privi di parametri, ma non tutti i tipi di riferimento li hanno. Pertanto il vincolo Structure soddisfa il vincolo New mentre il vincolo Class o una classe o nome di interfaccia no.
Le istruzioni seguenti possono generare questo errore.
Public Class c1(Of t As New)
End Class
Public Class c2(Of u)
Public testObject As New c1(Of u)
End Class
Quando la classe c2 crea un oggetto da c1, il parametro di tipo u non soddisfa il vincolo New sul parametro di tipo t.
ID errore: BC32084
Per correggere l'errore
Se il parametro di tipo da passare al tipo generico è in grado di soddisfare il vincolo Structure o New, aggiungere il vincolo appropriato alla sua definizione.
Public Class c2(Of u As Structure)Se il parametro di tipo non è in grado di soddisfare il vincolo Structure o New, non passarlo al tipo generico. È necessario passare qualcos'altro come argomento di tipo.
Vedere anche
Concetti
Tipi valore e tipi riferimento