'System.Runtime.InteropServices.DllImportAttribute' no se puede aplicar a un método genérico o anidado en un tipo genérico

Un procedimiento se declara con DllImportAttribute, pero el procedimiento es genérico o está contenido en una clase o estructura genéricas.

Common Language Runtime (CLR) reconoce este atributo y su EntryPoint propiedad como designando un procedimiento de reemplazo definido en una biblioteca de vínculos dinámicos (DLL) no administrada fuera de .NET Framework. Cuando el código llama al procedimiento al cual se aplica DllImportAttribute, el entorno de ejecución de lenguaje común llama al procedimiento no administrado designado en su lugar.

Dado que las plataformas no administradas fuera de .NET Framework no reconocen tipos genéricos, no puede interoperar con ellas mediante tipos genéricos.

Identificador de error: BC31526

Para corregir este error

  • Si ni el procedimiento ni su contenedor deben ser genéricos, quite las Of cláusulas para que no sean genéricas.

  • Si el procedimiento o su contenedor deben ser genéricos, elimine el DllImportAttribute de la declaración de este procedimiento.

Consulte también