将vb6“类型”(结构)转换为c#的最佳方法

时间:2018-10-19 13:32:36

标签: c# vb6 vb6-migration

我正在将VB6代码转换为C#。我正在努力将以下VB6类型转换为C#

Public Type XY_DATA
    InData(0 To 3) As Single
    PrevData(0 To 3) As Single
    OutData(0 To 3) As Single
    ZeroData(0 To 3) As Single
    StatXY(0 To 3) As Single
    DynXY(0 To 3) As Single
    UnbXY(0 To 3) As Single
    StdDev(0 To 3) As Single
End Type

1 个答案:

答案 0 :(得分:2)

使用Visual Studio 2008附带的Visual Basic更新向导将VB代码转换为VB.Net。然后,将VB.Net(类似于C#)转换为C#。

此外,Redgate Reflector可以将.Net程序集转换为您选择的语言,并获得不同程度的成功。因此,如果将VB代码转换为VB.Net并进行编译,则可以自动生成等效的C#代码。

这是您的代码已迁移和移植。

using Microsoft.VisualBasic;

public struct XY_DATA
{
    [VBFixedArray(3)]
    public Single[] InData;
    [VBFixedArray(3)]
    public Single[] PrevData;
    [VBFixedArray(3)]
    public Single[] OutData;
    [VBFixedArray(3)]
    public Single[] ZeroData;
    [VBFixedArray(3)]
    public Single[] StatXY;
    [VBFixedArray(3)]
    public Single[] DynXY;
    [VBFixedArray(3)]
    public Single[] UnbXY;
    [VBFixedArray(3)]
    public Single[] StdDev;

    // Note: "Initialize" must be called to initialize instances of this structure. 
    public void Initialize()
    {
        InData = new Single[4];
        PrevData = new Single[4];
        OutData = new Single[4];
        ZeroData = new Single[4];
        StatXY = new Single[4];
        DynXY = new Single[4];
        UnbXY = new Single[4];
        StdDev = new Single[4];
    }
}