我在 C# 类中有以下 COM 可见属性:
[ComVisible]
bool[] Values;
我有一个 C++ 类的实例,并使用以下代码设置此属性(仅伪代码)
CComSafeArray<VARIANT_BOOL> values(3);
values[0] = VARIANT_FALSE;
values[1] = VARIANT_FALSE;
HRESULT hr = instance->put_Values(values.Detach());
上述代码的最后一行返回 COR_E_SAFEARRAYTYPEMISMATCH (0x80131533)。我尝试使用 BYTE 和 VARIANT(使用 BOOL),但没有成功。
有人可以帮忙吗?