将vb6属性类传递给c#类构造函数?

时间:2016-03-31 19:56:01

标签: c# .net vb6 vb6-migration

我在VB6中有一个类,它包含很多文件属性。 我已将我们的电子邮件转换为C#代码。 VB6文件类将包含许多对电子邮件程序有用的信息。

所以问题出现了: 有没有办法在VB6中学习我的课程,并将其推送到我的C#Emailer构造函数? 这可能吗?

在VB6代码中,我使用COM中断将DLL链接到项目, 然后在VB6代码中我可以做类似的事情。

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

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

但C#如何知道参数中接受哪种dataType?

1 个答案:

答案 0 :(得分:1)

您不能将带有参数的构造函数暴露给COM。

理想情况下,您的FileProperties类应该在您的C#代码中,并通过COM与您的Emailer类一起公开。您的电子邮件类将公开FileProperties类型的属性,该属性将在无参数构造函数中初始化。

在VB6中你会做

Dim emailObj As New Emailer

然后使用

填写FileProperties
emailObj.FileProperties.Prop1 = ""