Lire en anglais

Partager via


Avertissement du compilateur (niveau 1) CS3018

Impossible de marquer 'type' comme conforme CLS car il est membre du type non conforme CLS 'type'

Cet avertissement se produit si une classe imbriquée avec l’attribut CLSCompliant défini sur true est déclarée comme membre d’une classe déclarée avec l’attribut CLSCompliant défini sur false. Cela n’est pas autorisé car une classe imbriquée ne peut pas être conforme CLS si elle est membre d’une classe externe qui n’est pas conforme CLS. Pour remédier à cet avertissement, supprimez l’attribut CLSCompliant de la classe imbriquée ou remplacez true par false. Pour plus d’informations sur la conformité CLS, consultez Indépendance du langage et composants indépendants du langage.

Exemple

L’exemple suivant génère l’avertissement CS3018.

C#
// 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 {}  
}