Pergunta

Se eu tenho um projeto e eu marcá-lo como

<Assembly: CLSCompliant(True)> 

Preciso colocar CLSCompliant(True) antes de todos classe no projeto, ou são todos padronizados para CLSCompliant?

Foi útil?

Solução

Adicionar o atributo CLSCompliant no nível da montagem não muda as classes em que não faço as classes compatíveis com CLS. O que faz é forçar o compilador a aumentar qualquer coisa que não seja compatível como um erro. Ainda é sua responsabilidade garantir que as aulas não quebrem as regras.

Dito isto, porém, sim, ele filtra e afeta todas as classes na montagem sem a necessidade de adicioná -lo novamente a cada classe. Daqui:

Se nenhum atributo CLS for aplicado a um tipo, esse tipo se supõe ter a mesma conformidade com o CLS que a montagem em que o tipo é definido.

Este artigo também é uma visão geral bastante boa sobre como funciona, o que você precisa fazer e por que você pode querer fazê -lo.

Outras dicas

O que eu sei sobre CLSCompliant é, por padrão, a montagem não é compatível.Na minha opinião, nem todos os projetos precisam ser CLSCompliant.Projetos que são ferramentas ou bibliotecas, que estão indo para ser usado por outras aplicações devem ser CLSCompliant.Enquanto a construção Visual Studion Ferramentas para o Windows Live, que nós tivemos que fazer com que o nosso código não dar qualquer CLSCompliant erros ou avisos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top