【问题标题】:Mixing VB5 and C# in a Windows Form application在 Windows 窗体应用程序中混合使用 VB5 和 C#
【发布时间】:2010-09-09 11:43:38
【问题描述】:

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

它易于操作和维护吗?这是一个好习惯吗?如果没有,有什么替代方案?

【问题讨论】:

  • 在现有的 VB5 项目中添加一个窗口只是一个例子,它可能是一个特性......但是用 C# 编写
  • 我给出了正确答案。但是,我建议您考虑从这个过时的平台升级,而不是在它之上堆积更多的工作。也许 C#/COM 方法可以用作纯 C# 应用程序的垫脚石。
  • 有关 .NET COM 互操作的大量深入信息,请参见 SAMS 的 Adam Nathan 所著的“.NET 和 COM:完整的互操作性指南”。虽然基于 .NET 1.1 (IIRC),但在以后的版本中这方面并没有太大变化。

标签: c# .net vb5


【解决方案1】:

您要做的事情很困难,因为您需要在两个世界之间架起一座桥梁。

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

您还可以在 .net 中创建和使用 Active X 控件,因此您可以根据需要以相同的形式混合使用 VB5 和 C#。

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

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

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

【讨论】:

    【解决方案2】:

    编辑

    我最初误读了这个问题,以为您在询问 VB.NET。

    您能做的最好的事情就是将您的 C# 公开为您从 VB5 调用的 COM 对象。你只需要确保你支持IDispatch

    【讨论】:

    • 您不能将 VB5 项目放在 C#/VB.NET 解决方案中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 2021-09-11
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    相关资源
    最近更新 更多