Потерянный исходный код VB6;Можно ли переопределить методы в другом объекте? - PullRequest
3 голосов
/ 17 сентября 2011

Я знаю компанию, которая потеряла свой исходный код для библиотеки DLL VB6, которая представляет COM. Можно ли обернуть или переопределить свойства, методы и т. Д. Этого объекта, чтобы он был более современным?

Какую технологию мне использовать? Какие подходы я должен использовать?

Ответы [ 2 ]

5 голосов
/ 17 сентября 2011

Я бы обернул его в новый класс C # и предоставил бы только минимальные функциональные возможности вызывающему коду (возможно, через интерфейс). Таким образом, некоторые функции могут быть постепенно переписаны в C #, не затрагивая вызывающего клиента.

И да, используйте interop для создания оболочки, вызываемой во время выполнения.

Вызов кода .NET -> вашей новой оболочки класса .NET -> COM dll через вызываемую во время выполнения оболочку.

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

2 голосов
/ 17 сентября 2011

Вы можете обернуть COM-объект в вызываемую оболочку во время выполнения. Это позволит вам получить доступ к методам интерфейса COM.

http://msdn.microsoft.com/en-us/library/8bwh56xe.aspx

...