C#中如何实现VB互操作?

我最近在开发一个项目,其中需要使用到VB.NET编写的一些库和组件。而我们项目主要是使用C#来编写的,所以我需要找到一种方法来实现C#和VB之间的互操作。我已经尝试了一些方法,如使用COM组件或者在C#中使用VB的程序集,但都没有获得很好的结果。那么,有没有哪位大佬能够给我提供一些建议或者代码范例来解决这个问题呢?非常感谢!

提问时间:2023-07-26 05:26:55 编辑时间:2023-07-26 05:26:57 提问者: 小鲁
  • 雨中彩虹
    1

    在C#中实现VB互操作有多种方法:

    1.使用COM组件,VB.NET库是可以使用COM组件的,只要将其注册为COM组件即可在C#中调用。

    2.在C#中引入VB.NET程序集,使用using语句引入VB.NET程序集,然后就可以在C#中调用VB.NET的方法。

    3.使用.NET框架的“互操作性”功能,可以通过声明C#和VB.NET之间的互操作接口来实现互操作。

    以下是一个C#调用VB.NET库的示例代码:

    VB.NET类库:

    Public Class MyVBClass
        Public Function Add(a As Integer, b As Integer) As Integer
            Return a + b
        End Function
    End Class
    

    C#程序:

    using Microsoft.VisualBasic.CompilerServices;
    
    static class Program
    {
        static void Main()
        {
            // 创建 VB.NET 对象
            var vbObject = new MyVBClass();
            // 调用 VB.NET 方法
            var result = Conversions.ToInteger(vbObject.Add(1, 2));
    
            // 输出结果
            System.Console.WriteLine(result);
        }
    }
    

    希望这可以帮到你!

    回答时间:2023-07-26 05:27:01