DllImport 时,object类型问题

accomp 2008-12-22 03:26:30
有个程序从vb6升级到c#
vb代码:

Public Declare Function gbHaspReadBlock Lib "GbHasp.dll" Alias "_gbHaspReadBlock@12" _
(ByVal address As Long, ByVal length As Long, ByRef buffer As Any) As Long


用工具转完的c#代码

[DllImport("GbHasp.dll", EntryPoint = "_gbHaspReadBlock@12", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern long gbHaspReadBlock(long address, long length, ref object buffer);

问题是,gbHaspReadBlock的参数 ref object buffer ,到底应该传个什么进去 ?
传string,int等,编译都过不去 。 直接定义object传过去,运行出错 。

别的方法,参数是int的,string的,写明白了,都没问题。
就这种,object的,出问题。
...全文
57 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gomoku 2008-12-22
  • 打赏
  • 举报
回复
_gbHaspReadBlock@12

按照这个装饰,你因该用int,而不是long。
我姓区不姓区 2008-12-22
  • 打赏
  • 举报
回复
传的时候记得把ref关键字也加上

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧