Pergunta

Por exemplo, eu li que Visual Basic .NET não têm sobrecargas de operador antes, então não seria capaz de usar uma operadores tipos sobrecarregados, se eles não são fornecidos como métodos normais também (Adicionar, em vez de operador + ).

Agora que VB tem esse recurso, seria CLSCompliant cuidado atributo se você tem métodos estáticos normais, como adicionar, subtrair, em vez de sobrecargas de operador única?

Eu escrevi alguns tipos sem os métodos estáticos verbais, mas apenas sobrecargas de operador, e o compilador C # não se importava. Se fosse um problema, ele iria me avisar, certo?

Foi útil?

Solução

compatibilidade com CLS não é fazer com mais velho qualquer - é simplesmente o conjunto básico de funcionalidades que você deve razoavelmente esperar uma arbitrária linguagem de manusear (ao consumir o seu código). Por exemplo, não razoável supor que uma língua é sensível a maiúsculas, para que os membros "Foo" e "foo", enquanto legal em C #, não compatível com CLS.

O compilador irá avisá-lo se você pedir para ele; adicionar [CLSCompliant(true)] a um tipo / montagem / etc e vai verificar o seu pedido.

Se você é um ISV, que você pode querer pensar sobre a compatibilidade com CLS. Se você estiver escrevendo código apenas para si mesmo e equipe, você provavelmente não precisa a sobrecarga.

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