Lire en anglais

Partager via


Erreur du compilateur CS0454

Dépendance de contrainte circulaire utilisant 'Type Parameter 1' et 'Type Parameter 2'

Cette erreur se produit parce qu’un paramètre de type fait référence à un autre paramètre de type et que ce dernier fait référence au premier. Pour corriger cette erreur, arrêtez la dépendance circulaire en supprimant l’une des contraintes. Notez que la dépendance de contrainte circulaire peut être indirecte.

Exemple 1

Le code suivant génère l’erreur CS0454.

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

Exemple 2

L’exemple suivant illustre une dépendance circulaire entre deux contraintes de type.

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