Compilerwaarschuwing (niveau 1) CS3018
'type' kan niet worden gemarkeerd als CLS-compatibel omdat het lid is van het niet-CLS-compatibele type 'type'
Deze waarschuwing treedt op als een geneste klasse waarop het kenmerk CLSCompliant is ingesteld true
, wordt gedeclareerd als lid van een klasse die is gedeclareerd met het kenmerk CLSCompliant ingesteld op false
. Dit is niet toegestaan, omdat een geneste klasse niet CLS-compatibel kan zijn als deze lid is van een buitenste klasse die niet cls-compatibel is. Als u deze waarschuwing wilt oplossen, verwijdert u het kenmerk CLSCompliant uit de geneste klasse of wijzigt u deze van true
.false
Zie Taalonafhankelijkheid en taalonafhankelijke onderdelen voor meer informatie over CLS-naleving.
In het volgende voorbeeld wordt CS3018 gegenereerd.
// 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 {}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: