从vb.net调用C#参数化的函数

时间:2018-08-09 16:06:21

标签: c# vb.net

我有一个vb.net应用程序,我想用它来调用以类对象集合为参数的c#函数。我曾尝试在vb.net应用程序中构造具有相同结构的类,并声明一个对象列表,以数据填充它们并将它们传递给c#类,但出现对话错误

  

地址类别的列表不能转换为地址类别的列表

有可能实现这一目标吗?如果是这样,那怎么办?

函数是:

public static string callMain(List<AddressClass[]> Addresses)
{
    // code.......
}

1 个答案:

答案 0 :(得分:1)

您不需要重复任何类。 .NET Framework的全部优点是语言的可互换性。只需使用C#函数使用的AddressClass定义。如果C#项目是VB中的一个引用,则您的VB代码将识别它。

例如如果C#项目的命名空间为My.CSharp.Project,则在VB中,您只能Dim list As new List(Of My.CSharp.Project.AddressClass)

基本上,就像对待其他任何库一样对待C#类。您不知道或不在乎System.IO类使用哪种语言编写,是吗?您只需要使用它们。您的C#项目也是如此。实际上,如果您将C#项目编译为DLL并将其手动导入到VB.NET项目中,则您甚至不必知道它是C#项目-那时您所拥有的只是一个编译后的二进制文件