猿问

从 vb.net 调用 ac# 参数化函数

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


List(of AddressClass) 不能转换为 List(Of AddressClass)


有可能实现这一目标吗?如果是,那又如何?


功能是:


public static string callMain(List<AddressClass[]> Addresses)

{

    // code.......

}


catspeake
浏览 188回答 1
1回答

慕姐8265434

您不需要复制任何类。.NET Framework 的全部优点在于语言的可互换性。只需使用AddressClassC# 函数使用的定义。如果 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# 项目 - 当时您所拥有的只是一个编译后的二进制文件.
随时随地看视频慕课网APP
我要回答