Pergunta

Estou trabalhando no código que possui os seguintes atributos em alguns de seus métodos:

[CLSCompliantAttribute(false)] 

Como é que, quando eu construo o código como está, vejo que a verificação de conformidade está sendo realizada e, quando eu comentar, parece que a verificação de conformidade não está sendo realizada?

Eu esperava o comportamento oposto ...

Foi útil?

Solução

Adicionando [CLSCompliant(false)] marca o membro para o qual você adiciona como não compatível.

Se você marcar o membro como não compatível, o compilador não o avisará se não for compatível. (Desde que você já disse que não é compatível.)

Se, no entanto, o membro é marcado como compatível (explícita ou indiretamente de um atributo no nível da montagem), mas na verdade não é compatível (por exemplo, é preciso um uint), o compilador o alertará (já que o atributo agora está mentindo sobre o membro).

Outras dicas

Você pode adicioná -lo ao AssemblyInfo.cs, por exemplo, e agrupar toda a montagem:*. Curti :

using System;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: CLSCompliant(false)]


// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

// The following GUID is for the ID of the typelib if this project is     exposed to COM
[assembly: Guid("d29c53b6-88e4-4b33-bb86-f39b4c733542")]

// Version information for an assembly consists of the following four     values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build     Numbers 
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top