C#中如何取得非托管代码返回的数组?

蓝点天尊 2007-08-01 08:37:18
有一段Delphi写的代码,最后返回的是char[]类型,长度是3,当我在C#中声明:
DllImport(@"D:\test\cssTest.dll", CharSet = CharSet.Ansi, EntryPoint = "GetChart5", CallingConvention = CallingConvention.StdCall)]
[return: MarshalAs(UnmanagedType.LPArray, SizeConst = 3)]
public static extern char[] GetChart4();

然后调用该方法时,出现{"无法封送处理“return value”:
无效的托管/非托管类型组合。"} System.Exception {System.Runtime.InteropServices.MarshalDirectiveException}
请教各位朋友如何解决?
...全文
263 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
an_ding 2009-03-10
  • 打赏
  • 举报
回复
....................................
蓝点天尊 2007-08-02
  • 打赏
  • 举报
回复
没有高手?
蓝点天尊 2007-08-01
  • 打赏
  • 举报
回复
在线等待中.

111,093

社区成员

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

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

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