Поделиться через


Создание класса, содержащего функции DLL

Обновлен: Ноябрь 2007

Заключение часто используемой функции DLL в оболочку управляемого класса представляет собой эффективный способ инкапсуляции функциональных возможностей платформы. Хотя применение оболочки класса необязательно, оно удобно, так как процесс определения функций DLL может быть громоздким и представлять собой источник ошибок. При программировании на Visual Basic или C# функции DLL должны объявляться в пределах класса или модуля Visual Basic.

В классе для каждой вызываемой функции DLL должен быть определен статический метод. Определение может включать дополнительные сведения, например, кодировку или соглашение о вызовах, используемое при передаче аргументов метода. Если эти сведения отсутствуют, используются параметры по умолчанию. Полный список параметров объявлений и их значения по умолчанию см. в разделе Создание прототипов в управляемом коде.

После упаковки в оболочку методы для функции можно вызывать точно так же, как и методы для любой другой статической функции. Вызов неуправляемого кода обрабатывает базовую экспортируемую функцию автоматически.

При разработке управляемого класса для вызова неуправляемого кода следует учитывать связи между классами и функциями DLL. Например, разработчик может выполнять следующие действия.

  • Объявлять функции DLL в существующем классе.

  • Создавать для каждой функции DLL отдельный класс в целях изоляции и упрощения поиска функций.

  • Создавать один класс для набора связанных функций DLL, формируя логические группирования и сокращая дополнительные издержки.

Разработчик может назвать класс и его методы по своему усмотрению. Примеры, в которых показывается способ создания объявлений на основе .NET, предназначенных для использования с вызовом неуправляемого кода, см. в разделе Маршалинг данных с вызовом неуправляемого кода.

См. также

Основные понятия

Использование неуправляемых функций DLL

Идентификация функций в библиотеках DLL

Создание прототипов в управляемом коде

Другие ресурсы

Вызов функции DLL