在Windows窗体应用程序中混合使用VB5和C#

在Windows窗体应用程序中混合使用VB5和C#,c#,.net,vb5,C#,.net,Vb5,我想在我的应用程序中添加一个窗口。是否可以使用C#“扩展”旧的vb5项目 它是否易于操作和维护,是否是一种良好的做法?如果没有,有哪些备选方案?编辑 起初我误读了这个问题,以为你在问VB.NET 最好是将C#公开为从VB5调用的COM对象。您只需确保支持IDispatch编辑 起初我误读了这个问题,以为你在问VB.NET 最好是将C#公开为从VB5调用的COM对象。您只需确保您支持IDispatch您正在尝试做的事情很难,因为您需要连接两个世界 VB5和C#都可以创建和使用COM对象。您可以使用

我想在我的应用程序中添加一个窗口。是否可以使用C#“扩展”旧的vb5项目

它是否易于操作和维护,是否是一种良好的做法?如果没有,有哪些备选方案?

编辑

起初我误读了这个问题,以为你在问VB.NET

最好是将C#公开为从VB5调用的COM对象。您只需确保支持
IDispatch

编辑

起初我误读了这个问题,以为你在问VB.NET


最好是将C#公开为从VB5调用的COM对象。您只需确保您支持
IDispatch

您正在尝试做的事情很难,因为您需要连接两个世界

VB5和C#都可以创建和使用COM对象。您可以使用它从.net调用VB5代码或从VB5调用.net代码

您还可以在.net中创建和使用活动的X控件,因此,如果必须,可以将VB5和C以相同的形式混合使用

另一种选择是使用两个单独的应用程序与同一数据库通信,并使用COM(或SendMessage)打开彼此中的表单

您需要对.net有深入的了解,才能使COM正常工作,但是,在您花了一段时间在.net中工作之前,您不太可能有这种了解。


市场上也有声称可以将VB5代码转换为VB.NET的工具,但我对它们一个也不厌倦。

您正在尝试做的事情很难,因为您需要连接两个世界

VB5和C#都可以创建和使用COM对象。您可以使用它从.net调用VB5代码或从VB5调用.net代码

您还可以在.net中创建和使用活动的X控件,因此,如果必须,可以将VB5和C以相同的形式混合使用

另一种选择是使用两个单独的应用程序与同一数据库通信,并使用COM(或SendMessage)打开彼此中的表单

您需要对.net有深入的了解,才能使COM正常工作,但是,在您花了一段时间在.net中工作之前,您不太可能有这种了解。


市场上还有一些工具声称可以将VB5代码转换为VB.NET,但我一个也不厌倦。

你不能将VB5项目放在C#/VB.NET解决方案中。你不能将VB5项目放在C#/VB.NET解决方案中。向现有VB5项目添加窗口只是一个例子,它可能是一个功能。。。但我用C#写了一个正确的答案。不过,我建议您考虑从这个过时的平台升级,而不是在上面堆砌更多的工作。也许C#/COM方法可以用作纯C#应用程序的垫脚石。有关.NET COM互操作的详细信息,请参阅.NET和COM:Adam Nathan,SAMS编写的“完整互操作性指南”。虽然基于.NET 1.1(IIRC)的版本在这方面没有太大变化,但在以后的版本中,将窗口添加到现有VB5项目只是一个示例,它可能是一个功能。。。但我用C#写了一个正确的答案。不过,我建议您考虑从这个过时的平台升级,而不是在上面堆砌更多的工作。也许C#/COM方法可以用作纯C#应用程序的垫脚石。有关.NET COM互操作的详细信息,请参阅.NET和COM:Adam Nathan,SAMS编写的“完整互操作性指南”。虽然基于.NET1.1(IIRC),但在以后的版本中,这方面的变化不大。