Peringatan Pengompilasi (tingkat 1) CS3018

‘type’ tidak dapat ditandai sebagai CLS-Compliant karena merupakan anggota dari jenis 'type' non CLS-compliant

Peringatan ini terjadi jika kelas bersarang dengan atribut CLSCompliant yang diatur ke true dinyatakan sebagai anggota kelas yang dinyatakan dengan atribut CLSCompliant yang diatur ke false. Ini tidak diizinkan, karena kelas bersarang tidak boleh berupa CLS-compliant jika merupakan anggota kelas luar yang bukan CLS-compliant. Untuk mengatasi peringatan ini, hapus atribut CLSCompliant dari kelas bersarang, atau ubah atribut tersebut dari true ke false. Untuk informasi selengkapnya tentang kepatuhan CLS, lihat Independensi bahasa dan komponen mandiri bahasa.

Contoh

Sampel berikut menghasilkan CS3018.

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