Aviso do compilador (nível 1) CS3018
'type' não pode ser marcado como em conformidade com CLS por ser membro de um tipo 'type' sem conformidade com CLS
Esse aviso ocorrerá se uma classe aninhada com o atributo CLSCompliant definida como true
for declarada como um membro da classe declarada com o atributo CLSCompliant definida como false
. Isso não é permitido, uma vez que uma classe aninhada não pode ser compatível com CLS se for um membro de uma classe externa que não esteja em conformidade com CLS. Para resolver esse aviso, remova o atributo CLSCompliant da classe aninhada ou altere-o de true
para false
. Para obter mais informações sobre conformidade com a CLS, consulte Componentes de independência de linguagem e componentes independentes da linguagem.
O exemplo a seguir gera o erro 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 {}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: