Partager via


Avertissement du compilateur CS3024

Mise à jour : novembre 2007

Message d'erreur

Le type de contrainte 'type' n'est pas conforme CLS.
Constraint type 'type' is not CLS-compliant.

Le compilateur génère cet avertissement car l'utilisation d'un type non conforme CLS en tant que contrainte de type générique peut entraîner l'impossibilité pour un code écrit dans certains langages de consommer votre classe générique.

Pour supprimer cet avertissement

  • Utilisez un type conforme CLS pour la contrainte de type.

Exemple

L'exemple suivant génère l'erreur CS3024 à plusieurs emplacements :

// cs3024.cs
// Compile with: /target:library
 [assembly: System.CLSCompliant(true)]

[type: System.CLSCompliant(false)]
public class TestClass // CS3024
{
    public ushort us;
}
[type: System.CLSCompliant(false)]
public interface ITest // CS3024
{}
public interface I<T> where T : TestClass
{}
public class TestClass_2<T> where T : ITest
{}
public class TestClass_3<T> : I<T> where T : TestClass
{}
public class TestClass_4<T> : TestClass_2<T> where T : ITest
{}
public class Test
{
    public static int Main()
    {
        return 0;
    }
}

Voir aussi

Référence

Contraintes sur les paramètres de type (Guide de programmation C#)