C# 在C中使用VB6类#

C# 在C中使用VB6类#,c#,vb6,vb6-migration,C#,Vb6,Vb6 Migration,是否可以在C#中使用VB6类?当然,您只需要将其设置为COM对象。您可以使用COM互操作在C#程序中使用编译后的VB6 dll 我认为您应该能够添加包含VB6类型的库,作为C#项目中的参考。VisualStudio将动态创建互操作程序集,您可以通过访问VB6库中的所有类型 创建互操作程序集的工具是,如果您想对流程进行更多控制,例如,如果您想创建一个可由多个托管组件共享的组件,您可以自己运行该工具。正如@Wayne在他的文章(+1)中所述,这是绝对可能的。 我想重写你的VB6类: 如果你有VB6的

是否可以在C#中使用VB6类?

当然,您只需要将其设置为COM对象。

您可以使用COM互操作在C#程序中使用编译后的VB6 dll


我认为您应该能够添加包含VB6类型的库,作为C#项目中的参考。VisualStudio将动态创建互操作程序集,您可以通过访问VB6库中的所有类型


创建互操作程序集的工具是,如果您想对流程进行更多控制,例如,如果您想创建一个可由多个托管组件共享的组件,您可以自己运行该工具。

正如@Wayne在他的文章(+1)中所述,这是绝对可能的。

我想重写你的VB6类:
如果你有VB6的来源和资金,我建议你用C#重写这个课程。


w.r.t“库”,您可以浏览到VB6 ActiveX EXE或带有类的DLL,并将其添加为参考。互操作程序集将自动为您创建。@bob denny。这并不总是那么容易,VS IDE选择了一个选项,使得处理具有阵列的复杂数据结构变得困难(如果不是不可能的话)。除非您有非常非常简单的输入和输出,否则最好使用tlbimp。你能详细介绍一下这个问题吗?一个链接会很有用。我不明白为什么人们会投票支持这个问题,却给了@sashaeve net-5一个等价的答案。@Kb:在这个页面上,但是你需要很多声誉才能看到被删除的答案。他说:“你必须把它转换成VB.NET类,然后在你的C#应用程序中使用这段代码是可能的。”用VB6创建的DLL总是(嗯,几乎总是)COM DLL。否则,你必须经历很多黑人艺术类型的考验。