3

やあ!Visual C ++ 6に次のコードがあり、C#に変換したいと思います。

SAFEARRAY * psa =   NULL;
SAFEARRAYBOUND rgsabound;
rgsabound.lLbound = 0;  
rgsabound.cElements = infoList.GetCount();
psa = SafeArrayCreate(VT_BSTR, 1, &rgsabound);
    ......

VARIANT listaF;
V_VT(&listaF) = VT_ARRAY|VT_BSTR;
listaF.parray   =   psa;

誰かが私を助けることができますか?

4

1 に答える 1

1

safearray は COM/OLE の配列 ( Sanjeevakumar Hiremath のリファレンスを参照)、BSTRは COM/OLE 文字列です。バリアントは、多くの種類のデータを格納できる一般的な構造です。

次に、VARIANT でラップされた BSTR の safearray が得られます。C# では、文字列の単純な配列でこのようなものを表すことができます。

string[] listaF = new string[infoList.GetCount()];

幸運を。

于 2011-04-21T01:39:33.677 に答える