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
Il vincolo 'classe' o 'struct' deve precedere tutti gli altri vincoli.
The 'class' or 'struct' constraint must come before any other constraints
I vincoli definiti sul parametro di tipo di un metodo o di un tipo generico devono seguire un ordine specifico. È necessario specificare innanzitutto il vincolo class o struct, se presente, quindi i vincoli di interfaccia e infine i vincoli di costruttore. Questo errore si verifica quando il vincolo class o struct non viene specificato per primo. Per correggere l'errore, specificare le clausole di vincolo nell'ordine corretto.
Esempio
Il seguente codice di esempio genera l'errore CS0449.
// CS0449.cs
// compile with: /target:library
interface I {}
public class C4
{
public void F1<T>() where T : class, struct, I {} // CS0449
public void F2<T>() where T : I, struct {} // CS0449
public void F3<T>() where T : I, class {} // CS0449
// OK
public void F4<T>() where T : class {}
public void F5<T>() where T : struct {}
public void F6<T>() where T : I {}
}