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 数组。在 C# 中,你可以用一个简单的字符串数组来表示这样的东西。

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

祝你好运。

于 2011-04-21T01:39:33.677 回答