2016-03-31 1 views
0

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

Итак, возник вопрос: Есть ли способ взять класс, который у меня есть в 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. Ваш класс emailer будет выставлять свойство типа FileProperties, которое будет инициализироваться в вашем конструкторе без параметров.

В VB6 вы могли бы сделать

Dim emailObj As New Emailer 

, а затем заполнить FileProperties с помощью

emailObj.FileProperties.Prop1 = ""