Errore del compilatore CS0406

Aggiornamento: novembre 2007

Messaggio di errore

Il vincolo di tipo di classe 'vincolo' deve precedere tutti gli altri vincoli.
The class type constraint 'constraint' must come before any other constraints

Se un metodo o un tipo generico contiene un vincolo di tipo classe, quest'ultimo deve essere specificato per primo. Per correggere l'errore, spostare il vincolo di tipo classe all'inizio dell'elenco dei vincoli.

Esempio

Il seguente codice di esempio genera l'errore CS0406:

// CS0406.cs
// compile with: /target:library
interface I {}
class C {}
class D<T> where T : I, C {}   // CS0406
class D2<T> where T : C, I {}   // OK