'System.Runtime.InteropServices.DllImportAttribute' não pode ser aplicado a um método genérico ou aninhado num tipo genérico

Um procedimento é declarado com , DllImportAttributemas ou o procedimento é genérico ou está contido numa classe ou estrutura genérica.

O ambiente de execução da linguagem comum (CLR) reconhece este atributo e a sua EntryPoint propriedade como designando um procedimento de substituição definido numa biblioteca de ligação dinâmica (DLL) não gerida (unmanaged) exterior ao .NET Framework. Quando o código chama o procedimento ao qual o DllImportAttribute é aplicado, o runtime da linguagem comum chama o procedimento não gerido designado em vez disso.

Como plataformas não geridas fora do .NET Framework não reconhecem tipos genéricos, não pode interoperar com eles usando tipos genéricos.

ID de erro: BC31526

Para corrigir este erro

  • Se nem o procedimento nem o seu recipiente precisarem de ser genéricos, então remova as Of cláusulas para que não sejam genéricas.

  • Se o procedimento ou o seu recipiente precisar de ser genérico, então remova o DllImportAttribute da declaração deste procedimento.

Consulte também