求助:C#中如何调用C++做成的COM接口??
有一个ocx的控件,是用C++做成的,封装成了COM接口。
其中的一个方法是 void GetDiNum(VARIANT* diList);
在控件中被封装成了 void GetDiNum(ref object diList);
请问如果要在C#中调用该接口,如何给给该方法传值?
C#中VARIANT对应哪种类型?
在线等待。
------解决方案--------------------C#中没有VARIANT类型,代之的是object类型,理论上可以传递任何类型过去。但实际可以传递什么类型就要看你的OCX的实现了!
------解决方案--------------------http://www.cppblog.com/mzty/archive/2007/06/04/25522.html
------解决方案--------------------VARIANT在C#里面,可以对应一个结构体struct。
传递一个C#的结构体就应该没有任何问题了。
------解决方案--------------------Importing SafeArrayCreate (i.e., [DllImport( "oleaut32.dll ")] SafeArrayCreate) ;