Errore del compilatore CS0454

Aggiornamento: novembre 2007

Messaggio di errore

Dipendenza circolare tra vincoli relativa a 'Parametro tipo 1' e 'Parametro tipo 2'.
Circular constraint dependency involving 'Type Parameter 1' and 'Type Parameter 2'

Questo errore viene visualizzato perché in un determinato momento un parametro di tipo fa riferimento a un altro parametro di tipo e quest'ultimo fa riferimento al primo. Per correggere l'errore, interrompere la dipendenza circolare rimuovendo uno dei vincoli. Tenere presente che la dipendenza circolare tra vincoli può essere indiretta.

Esempio

Il seguente codice di esempio genera l'errore CS0454.

// CS0554
using System;
public class GenericsErrors 
{
    public class G4<T> where T : T { } // CS0454
}

Il seguente codice di esempio mostra una dipendenza circolare tra due vincoli di tipo.

public class Gen<T,U> where T : U where U : T  // CS0454
{
}