aviso do compilador (nível 1) CS3018
Mensagem de erro
'type' não pode ser marcado sistema autônomo compatível com CLS porque é um membro de tipo não compatível com CLS 'tipo'
Este aviso ocorre se uma classe aninhada com o atributo CLSCompliant definido sistema autônomo true é declarada sistema autônomo um membro de uma classe declarada com o atributo CLSCompliant definido sistema autônomo false. Isso não é permitido, como uma classe aninhada não pode ser compatível com CLS se ele for um membro de uma classe externa não é compatível com CLS.Para resolver esse aviso, remova o atributo CLSCompliant da classe aninhada ou alterá-lo de true para false. Para obter mais informações sobre a conformidade de CLS, consulte Escrevendo código compatível com CLS and CLS (Common Language Specification).
Exemplo
O exemplo a seguir gera 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 {}
}