Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 40372|Resposta: 0

[Fonte] Especificação da linguagem pública .NET (CLS)

[Copiar link]
Postado em 2021-1-11 11:43:49 | | | |
.NET é uma linguagem separada. Isso significa que, como desenvolvedor, você pode desenvolver em uma das muitas linguagens para .NET (por exemplo, C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL e Windows PowerShell). Acesse os tipos e membros das bibliotecas desenvolvidas para .NET sem precisar conhecer a linguagem em que foram originalmente escritas ou seguir quaisquer convenções da linguagem original. Se você é desenvolvedor de componentes, seus componentes podem ser acessados por qualquer aplicativo .NET, independentemente da linguagem.

Se seu componente estiver em conformidade com a especificação da linguagem comum, é garantido que ele é compatível com CLS e acessível por meio de código em assembly escrito em qualquer linguagem de programação que suporte CLS. Você pode determinar se seus componentes cumprem a especificação da linguagem comum em tempo de compilação aplicando o recurso CLSCompliantAttribute ao código-fonte.

A Especificação Comum de Linguagem discute cada regra de conformidade com CLS porque ela se aplica a consumidores (desenvolvedores que acessam programaticamente componentes compatíveis com CLS), frameworks (desenvolvedores que usam compiladores de linguagem para criar bibliotecas compatíveis com CLS) e extensores (desenvolvedores que criam ferramentas como compiladores de linguagem ou analisadores de código que criam componentes compatíveis com CLS).
O programa não verifica se o código cumpre os requisitos CLS por padrão ao compilar, mas se seu programa puder ser público (codeshare, Nuget release, etc.), recomenda-se usar [assembly: CLSCompliant(true)]Indique que sua biblioteca está em conformidade com o CLS

Recursos:

O login do hiperlink está visível.
O login do hiperlink está visível.
O login do hiperlink está visível.

Em termos simples:

Você pode comer pilaf com as mãos, pode comer com colher, não há problema, porém, comer com as mãos não atende aos padrões ou normas de higiene. CLS é uma especificação de protocolo, embora o assembly não reporte erros e não afete o uso normal, alguns tipos e parâmetros do código que você desenvolve não atendem aos padrões.

Uso CLS

No arquivo AssemblyInfo.cs, adicione o seguinte código:



Será aplicado a toda a assembleia.

Se você não definir essa funcionalidade, pode receber o seguinte erro ao adicioná-la a um objeto:

Como os montagens não possuem recursos compatíveis com CLSC, o "A.Test" não exige recursos compatíveis com CLSC

O código de teste é o seguinte, depois recompila:

O tipo de "A.Test" não está em conformidade com o CLS



Você pode ver dois avisos, clique no item de aviso para pular para o número da linha específico, indicando que nossa linha de código não está em conformidade com a especificação CLS, e então você pode corrigir por conta própria.

Se a linha não cumprir a especificação CLS, mas a modificação afetar a correta operação do programa, mas você não quiser que o VS o avise, pode adicionar as seguintes características ao campo ou classe:



Dessa forma, esse aviso não será emitido.

(Fim)





Anterior:Otimização de Consultas do Entity Framework WITH(NOLOCK)
Próximo:.NET/C# para obter o estado atual da aplicação (CPU, thread, GC)
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com