Лучший способ конвертировать vb6 "Type" (struct) в c # - PullRequest
0 голосов
/ 19 октября 2018

Я работаю над преобразованием кода 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 голосов
/ 19 октября 2018

Используйте мастер обновления Visual Basic, который поставляется в комплекте с Visual Studio 2008, для преобразования кода 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];
    }
}
...