gpt4 book ai didi

c# - 什么相当于 c# 中的 Microsoft.VisualBasic.Collection?

转载 作者:太空狗 更新时间:2023-10-29 18:12:35 26 4
gpt4 key购买 nike

我有一个采用存储过程名称和 Microsoft.VisualBasic.Collection 的方法?我正在引用一个 vb 项目,在该项目中我必须将一个集合传递给此方法,但我当前所在的项目是在 c# 中,所以我不清楚我可以将什么传递给该方法?

这是 vb 调用:

public void CallStoredProc(string spName, Microsoft.VisualBasic.Collection params);

在我的 C# 应用程序中,我需要将此称为将适当的 C# 对象传递给参数。

最佳答案

一种选择是直接使用 C# 中的 Collection 类型。这是 Microsoft.VisualBasic.dll 程序集中的标准类型,可用于任何 .Net 语言。

标准 BCL 中最接近的集合是 HashtableHashtableCollection 之间的转换应该相当简单

例如

using VBCollection = Microsoft.VisualBasic.Collection;
...
public static VBCollection ToVBCollection(this Hashtable table) {
var collection = new VBCollection();
foreach (var pair in table) {
// Note: The Add method in collection takes value then key.
collection.Add(pair.Value, pair.Key);
}
return collection;
}

注意:虽然这不是直接映射。 Collection 类型支持许多 Hashtable 不喜欢的操作:值前后、按数字或键索引等……我的方法是使用一个在整个应用程序中一致地键入并适本地更改 C# 或 VB 项目

关于c# - 什么相当于 c# 中的 Microsoft.VisualBasic.Collection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6115194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com