Leer en inglés

Compartir a través de


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

Se declara un procedimiento con DllImportAttribute, pero el procedimiento es genérico o está contenido en una clase o estructura genérica.

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

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

Identificador de error: BC31526

Para corregir este error

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

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

Consulte también