Pergunta

Estou geralmente usando Win32 API em C # .NET. Mas não declarar tudo em uma aplicação. Às vezes, geralmente usando user32, às vezes gdi32 ... Eu acho que quando eu declarar todas as funções API, aqueles uso muita memória. Qual é a melhor maneira usando API em .NET?

Foi útil?

Solução

A maioria do Win32 API está disponível através de abstrações gerenciados. Caso contrário, declarar o que você precisa usando DllImport.

LoadLibrary realmente só deve ser usado quando você forneceu funcionalidade alternativo, ou seja, sua aplicação pode funcionar mesmo sem essa função API particular. Se a função API é crítica, usando DllImport vai deixar a preocupação loader sobre se a função existe ou não.

Outras dicas

LoadLibrary é útil quando você está escrevendo código que pode ser usado em um ambiente que pode ou não pode ter a dll desejada - por exemplo, você pode ter um programa que pode usar uma dll especial cripto se estiver disponível, mas ainda pode operar sem ele. Usando DllImport exigiria que dll de existir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top