Передал класс свойств 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 = ""