【问题标题】:Convert VB6 Scripting.Dictionary to .NET Generic Dictionary将 VB6 Scripting.Dictionary 转换为 .NET 通用字典
【发布时间】:2014-01-15 11:54:10
【问题描述】:

目前我正在将一些旧的 VB6 代码包装和转换为 .NET,我需要能够使用 VB6 代码的巨大旧价格返回的 scripting.dictionary。

我想将其转换为 .NET 通用 Dictionary(Of TKey, TValue)

【问题讨论】:

    标签: .net vb.net vb6 vb6-migration


    【解决方案1】:

    解决办法是写一个扩展方法scripting.dictionary转成.net Dictionary(Of TKey, TValue)

    VB.NET

    <Extension()>
    Public Function ToDictionary(Of T, T2)(dic As Scripting.Dictionary) As Dictionary(Of T, T2)
        Return dic.Cast(Of Object)().ToDictionary(Function(i) CType(i, T), Function(i) CType(dic.Item(i), T2))
    End Function
    

    C#.NET

    [Extension()]
    public static Dictionary<T, T2> ToDictionary<T, T2>(Scripting.Dictionary dic)
    {
        return dic.Cast<object>().ToDictionary(i => (T)i, i => (T2)dic.Item(i));
    }
    

    然后简单地使用

    horribleDictionary.toDictionary<int,string>()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2019-02-06
      • 2011-10-29
      相关资源
      最近更新 更多