Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

wrapper(lib,dll), C#

1.9K
25 июля 2008 года
lexalex
59 / / 23.12.2003
Товарищи, подскажите.
В программе на C# необходимо получить доступ к функциям которые хранятся в библиотеке .lib, написанной на C++,также есть файлы .h с описанием классов. Выяснилось, что напрямую подключить .lib в C# нельзя, поэтому решил писать оберточный класс на C++, делать DLL, а уже ее подключать в C#.
Вопрос в том, можно ли сделать так, чтобы с классами, которые есть в DLL, можно было бы работать как с полноценными классами: наследовать их, создавать объекты этих классов и. т. д.
5
25 июля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: lexalex
Выяснилось, что напрямую подключить .lib в C# нельзя, поэтому решил писать оберточный класс на C++, делать DLL, а уже ее подключать в C#.

Создавать класс смысла нет.

Цитата: lexalex
Вопрос в том, можно ли сделать так, чтобы с классами, которые есть в DLL, можно было бы работать как с полноценными классами: наследовать их, создавать объекты этих классов и. т. д.

Его всеравно нельзя бдует из .NET использовать (как класс в смысле). Почему? - спросите вы. А как CTS расшифровывается знаете? - в ответ спрошу я.
Потому делайте обычные функции и экспортируйте из DLL.

341
26 июля 2008 года
Der Meister
874 / / 21.12.2007
Цитата:
Его всеравно нельзя бдует из .NET использовать (как класс в смысле). Почему? - спросите вы. А как CTS расшифровывается знаете? - в ответ спрошу я.
Потому делайте обычные функции и экспортируйте из DLL.

Ну... Главное интерфейс к ним сделать по CTS, начинка не важна. Дело времени: managed extentions, враппер в виде ref class и вперёд делегировать вызовы. Такие классы можно будет и наследовать, и полиморфить уже в управляемой среде.

Цитата:
Создавать класс смысла нет.

Наверное, всё же есть:

Цитата:
также есть файлы .h с описанием классов

5
27 июля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Der Meister
Ну... Главное интерфейс к ним сделать по CTS, начинка не важна. Дело времени: managed extentions, враппер в виде ref class и вперёд делегировать вызовы. Такие классы можно будет и наследовать, и полиморфить уже в управляемой среде.

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

341
27 июля 2008 года
Der Meister
874 / / 21.12.2007
Цитата: hardcase
Спасибо, пример интересный.
Правда говорит что не может загрузить либу LibraryWrapper или одну из ее зависимостей, с ходу понять в чемфигня не получилось.


Build->Rebuild Solution. Порядок компиляции проектов немного не тот :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог