Freigeben über


Compilerwarnung CS3024

Aktualisiert: November 2007

Fehlermeldung

Einschränkungstyp "Typ" ist nicht CLS-kompatibel.
Constraint type 'type' is not CLS-compliant.

Der Compiler gibt diese Warnung aus, wenn Sie einen Typ, der nicht CLS kompatibel ist, als generische Typeinschränkung verwenden, da in diesem Fall die Gefahr besteht, dass Ihre generische Klasse von Code in einer anderen Sprache verwendet wird.

So umgehen Sie diese Warnung

  • Verwenden Sie einen CLS-kompatiblen Typ für die Typeinschränkung.

Beispiel

Im folgenden Beispiel wird der Fehler CS3024 an mehreren Stellen ausgelöst:

// 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;
    }
}

Siehe auch

Referenz

Einschränkungen für Typparameter (C#-Programmierhandbuch)