c# - 如何将对象集合从 VB6 传递到 .NET?

标签 c# .net vb6 interop com-interop

我需要将字符串的键/值对集合从 VB6 传递到 .NET。在 VB6 代码中,它们存在于 native 集合中。但我不确定我可以在 .NET 项目中引用什么,以便能够在我的方法之一中接受 Collection 类型的参数。

我尝试添加对 Visual Basic for Applications 的引用,但返回“无法添加对“Visual Basic For Applications”的引用。”

我的做法是错误的吗?

最佳答案

你可以在 C# 中使用类似的东西:

[Guid("fb5e929a-2f8b-481e-9516-97edf5099df4")]
[ComVisible(true)]
public interface myInterface{
public void addObject(string key, string value);
}

在你的类里面,你可以这样:

private collection
public addObject(string key, string value)
{
collection.Add(key, value);
}

这应该允许您在 vb6 中调用 addObject 并传递数据。然后.net会将其添加到集合中,因此您不必将整个集合从vb6传递到.net,而是将它们一一传递。

您可以阅读有关 GUID here. 的更多信息

有关 COM 的更多信息以及 vb6 and c# here. 之间的代码示例

关于c# - 如何将对象集合从 VB6 传递到 .NET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649696/

相关文章:

vb.net - 在 VB.NET 中声明属性

json - 使用 VBJSON 迭代嵌套对象

sql - 如何使用 ADO 和 VB 将 NULL 或空字符串传递给存储过程输入参数?

c# - 你需要 ref 或 out 参数吗?

c# - 想根据输入的数字查找日期 C#

.net - 通过 ElementName 将 UserControl 属性绑定(bind)到其子级会导致绑定(bind)错误

c# - 枚举 SqlDataReader 列

c# - .NET 如何发送 HttpClient 获取同一域中指定 IP 地址的请求

c# - 为什么我的异常在 wpf 应用程序中没有任何区别?

c# - Solrnet 未找到 SolrField 属性