Передал класс свойств vb6 в конструктор класса aC#?

У меня есть класс в VB6, который содержит много свойств для файлов. Я преобразовал наш Emailer в код C#. Класс файла VB6 будет содержать много информации, полезной для Emailer.

Таким образом, возник вопрос:есть ли способ взять класс, который у меня есть в VB6, и отправить его в мой конструктор C# Emailer? Это возможно?

В коде VB6 я связал DLL с проектом с помощью прерывания COM, а затем в коде VB6 я могу сделать что-то вроде..

Dim fileObj    As New FileProperties
  ...fill out the object...

Dim emailObj   As New Emailer(fileObj)
emailObj.SendEmail()

но как C# узнает, какой dataType принимать в параметрах?

1 ответ

Решение

Вы не можете выставить конструкторы с параметрами в COM.

В идеале ваш класс FileProperties должен быть в вашем коде C# и доступен через COM вместе с вашим классом Emailer. Ваш класс электронной почты предоставит свойство типа FileProperties, которое будет инициализировано в вашем конструкторе без параметров.

В VB6 вы бы сделали

Dim emailObj As New Emailer

а затем заполните FileProperties, используя

emailObj.FileProperties.Prop1 = ""
Другие вопросы по тегам