Compilerwarnung (Stufe 1) CS3018
Aktualisiert: November 2007
Fehlermeldung
"Typ" ist ein Member des nicht CLS-kompatiblen Typs "Typ" und kann daher nicht als CLS-kompatibel markiert werden
'type' cannot be marked as CLS-Compliant because it is a member of non CLS-compliant type 'type'
Diese Warnung wird ausgegeben, wenn eine geschachtelte Klasse mit dem auf true festgelegten CLSCompliant-Attribut als Member einer Klasse deklariert wird, die mit dem CLSCompliant-Attribut deklariert ist, das auf false festgelegt ist. Dies ist nicht zulässig, da eine geschachtelte Klasse nicht CLS-kompatibel sein kann, wenn diese ein Member einer nicht eingeschlossenen Klasse ist, die nicht CLS-kompatibel ist. Um diese Warnmeldung zu vermeiden, entfernen Sie das CLSCompliant-Attribut aus der geschachtelten Klasse, oder legen Sie es von true auf false fest. Weitere Informationen über die CLS-Kompatibilität finden Sie unter Schreiben von CLS-kompatiblem Code und CLS (Common Language Specification).
Beispiel
Im folgenden Beispiel wird CS3018 generiert.
// CS3018.cs
// compile with: /target:library
using System;
[assembly: CLSCompliant(true)]
[CLSCompliant(false)]
public class Outer
{
[CLSCompliant(true)] // CS3018
public class Nested {}
// OK
public class Nested2 {}
[CLSCompliant(false)]
public class Nested3 {}
}