Compilerwarnung (Stufe 1) CS3018
"Typ" ist ein Member des nicht CLS-kompatiblen Typs "Typ" und kann daher nicht als CLS-kompatibel markiert werden
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 unzulässig, weil eine geschachtelte Klasse nicht CLS-kompatibel sein kann, wenn diese ein Member einer äußeren Klasse ist, die nicht CLS-kompatibel ist. Entfernen Sie das CLSCompliant-Attribut aus der geschachtelten Klasse, oder legen Sie es von true
auf false
fest, um diese Warnmeldung zu vermeiden. Weitere Informationen zur CLS-Konformität finden Sie unter Sprachunabhängigkeit und sprachunabhängige Komponenten.
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 {}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: