Partilhar via


Regras de portabilidade e interoperabilidade

As regras de portabilidade suportam a portabilidade entre diferentes plataformas. As regras de interoperabilidade suportam a interação com clientes COM.

Nesta secção

Regra Descrição
CA1401: P/Invokes não deve ser visível Um método público ou protegido em um tipo público tem o atributo System.Runtime.InteropServices.DllImportAttribute (também implementado pela palavra-chave Declare no Visual Basic). Tais métodos não devem ser expostos.
CA1416: Validar a compatibilidade da plataforma O uso de APIs dependentes de plataforma em um componente faz com que o código não funcione mais em todas as plataformas.
CA1417: Não use OutAttribute em parâmetros de cadeia de caracteres para P/Invokes Os parâmetros de cadeia de caracteres passados por valor com a OutAttribute podem desestabilizar o tempo de execução se a cadeia de caracteres for uma cadeia de caracteres internada.
CA1418: Use uma string de plataforma válida O analisador de compatibilidade de plataforma requer um nome e uma versão válidos da plataforma.
CA1419: Forneça um construtor sem parâmetros que seja tão visível quanto o tipo de contenção para tipos concretos derivados de 'System.Runtime.InteropServices.SafeHandle' Fornecer um construtor sem parâmetros que é tão visível quanto o tipo de contenção para um tipo derivado de System.Runtime.InteropServices.SafeHandle permite um melhor desempenho e uso com soluções de interoperabilidade geradas pela fonte.
CA1420: Propriedade, tipo ou atributo requer empacotamento de tempo de execução O uso de recursos que exigem empacotamento de tempo de execução quando o empacotamento de tempo de execução estiver desabilitado resultará em exceções em tempo de execução.
CA1421: O método usa o empacotamento de tempo de execução quando DisableRuntimeMarshallingAttribute é aplicado Um método usa empacotamento de tempo de execução, e o empacotamento de tempo de execução é explicitamente desabilitado.
CA1422: Validar a compatibilidade da plataforma Não é recomendável chamar uma API obsoleta em um determinado sistema operacional (versão) a partir de um site de chamada acessível a partir desse sistema operacional (versão).