当前位置: 代码迷 >> VC >> 怎么用托管c++包装c++类
  详细解决方案

怎么用托管c++包装c++类

热度:679   发布时间:2016-05-05 00:14:21.0
如何用托管c++包装c++类
因为需要在C#中调用c++ dll(包含类),所以用了一个托管c++类将其包装,但是不知道如何对应参数问题。
bool ReadBlock(int nPosX, int nPosY, int OffsetX, int OffsetY, void* pBuffer);

这个里面的void*是要指向一个数组,整形或者字符型。
然后在托管c++类里面我是这么写的
bool ReadBlock(int nPosX, int nPosY, int OffsetX, int OffsetY,  IntPtr pBuffer)
{

return rs->ReadBlock((void*)hBand,nPosX,nPosY,OffsetX,OffsetY,(void*)pBuffer);
}


不知道有没有错,而且也不知道如何在C#中调用,求指教啊!!

------解决方案--------------------
可以在C#中为相同的API创建多个原型定义,同一个参数,即可以定义为int,也可以是stringbuilder或者byte[]。
------解决方案--------------------
rs->ReadBlock((void*)hBand,nPosX,nPosY,OffsetX,OffsetY,(void*)pBuffer);
bool ReadBlock(int nPosX, int nPosY, int OffsetX, int OffsetY, void* pBuffer);
二者参数不一致
  相关解决方案