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

passed a vb6 properties class into a c# class constructor?

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

于是问题出现了: 有没有办法将我在 VB6 中的 class 推送到我的 C# Emailer 构造函数? 这可能吗?

在 VB6 代码中,我已将 DLL 链接到带有 COM 中断的项目, 然后在 VB6 代码中我可以做类似的事情..

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

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

但是 C# 怎么知道在参数中接受什么数据类型?

您不能将带参数的构造函数公开给 COM。

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

在 VB6 中你会这样做

Dim emailObj As New Emailer

然后使用

填写FileProperties
emailObj.FileProperties.Prop1 = ""