-4

CとC#の間でダブルポインタの配列をマーシャリングするために何を書くべきかを誰かが正確に教えてもらえますか?

struct foo { double *abc[20]; };

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class foo {  // ??? abc;   }

以前の2つのクエリに対して多くの斜めの反響があり、この同じトピックに関する別の12ほどの質問をここで読みましたが、この質問に対する簡単な答えを見つけることができません.

4

1 に答える 1

0

わかりました、これがこの質問に対するシンプルで率直な答えです。

[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
public IntPtr[] abc;

秘訣は、直観に反して、これが int ポインターではなく double ポインターの配列であるという事実にもかかわらず、IntPtr を使用する必要があることです。

于 2013-09-05T23:47:35.577 に答える