Lezen in het Engels

Delen via


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.

Opmerking

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 {}  
}