Partilhar via


Tipo sujacente < NomeDoTipo > de Enum não é compatível com CLS

O tipo de dados especificado para essa enumeração não é parte da CLS (Common Language Specification) (CLS).Isso não é um erro no seu componente, pois o .NET Framework e Visual Basic suportam este tipo de dados.No entanto, outro componente escrito em estritamente código compatível com CLS pode não oferecer suporte a esse tipo de dados.Tal componente não poderá interagir com êxito com seu componente.

Os seguintes tipos de dados Visual Basic não são compatíveis com CLS:

Por padrão, essa é uma mensagem de aviso.Para maiores informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando Avisos (Warnings) no Visual Basic.

ID de erro: BC40032

Para corrigir este erro

  • Se seu componente somente tem interface com outros componentes .NET Framework,ou não tem interface com quaisquer outros componentes, você não precisará alterar nada.

  • Se você estiver interfaceando com um componente não gravado para o .NET Framework,talvez seja possível determinar, através de reflexão ou da documentação, se ele suporta este tipo de dados.Em caso afirmativo, você não precisará alterar nada.

  • Se você está interfaceando com um componente que não suporte este tipo de dados, você deverá substituí-lo com o tipo mais próximo compatível com CLS.Por exemplo, no lugar de UInteger Você poderá usar Integer Se você não precisa o intervalo de valores acima de 2.147.483.647. Se você precisar de intervalo estendido, você pode substituir UInteger com Long.

  • Se você estiver interfaceando com objetos de automação ou COM, tenha em mente que alguns tipos têm larguras de dados diferentes do que em .NET Framework.Por exemplo, uint é geralmente 16 bits em outros ambientes.Se você estiver passando um argumento de 16 bits para tal um componente, declare-o como UShort em vez de UInteger no seu código Visual Basic gerenciado.

Consulte também

Conceitos

Visão geral de reflexão

Escrevendo código compatível com CLS

Outros recursos

Reflexão