Использование класса VB6 в C # - PullRequest
14 голосов
/ 13 февраля 2010

Можно ли использовать класс VB6 в C #?

Ответы [ 4 ]

12 голосов
/ 13 февраля 2010

Я думаю, вы должны просто иметь возможность добавить библиотеку, которая содержит ваш тип VB6, в качестве ссылки в вашем проекте на C #. Visual Studio создаст Interop Assembly на лету, и вы получите доступ ко всем типам в библиотеке VB6 через Runtime Callable Wrappers .

Инструментом, который создает Interop Assembly, является TLBIMP.EXE , и вы можете запустить его самостоятельно, если вы хотите больше контроля над процессом, например. если вы хотите создать Первичную сборку взаимодействия , которая может совместно использоваться несколькими управляемыми компонентами.

3 голосов
/ 13 февраля 2010

Как утверждает @Wayne в своем посте (+1), это абсолютно возможно.

Я бы пошел на переписать вашего класса VB6:
Если у вас есть источник VB6 и финансирование, я бы порекомендовал вам переписать класс на C #.
Хотя VB6 может жить вечно :
Текущее заявление о поддержке для Visual Basic 6.0

3 голосов
/ 13 февраля 2010

Вы можете использовать скомпилированный VB6 dll в программе на C # с помощью COM Interop.

https://stackoverflow.com/questions/tagged/interop

0 голосов
/ 13 февраля 2010

Конечно, вам просто нужно сделать его COM-объектом.

...