0

我是 C# 的新手,我正在尝试这个 COM 互操作而不添加引用。(互操作程序集)

我有一个 C++ COM 类,它计算这样的平均值..

CoClass 函数

[id(2)] HRESULT Average([in, size_is(count)] LONG* Array, [in] LONG count, [out,retval] LONG* pResult);

C# 代码

从 C# 中,我尝试如下调用此函数,但是当我尝试如下调用此函数时出现异常。注意:该 CoClass 中的所有其他函数在 C# 中都可以正常工作。只有当数组出现它的抛出异常时。

[Guid("FA282FAC-A5EE-4A43-AF0B-FB150576DF75"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]

public interface ICalc
{

    int Average([MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] long[] values, int count);

}

long[] values = { 1, 2, 3, 4, 5 };
long ret1 = refToCalc.Average1(values,5);

谢谢,约翰

4

0 回答 0