我有一个数组,我想传入一个DLL的数组。我遇到了错误“没有对嵌套数组的支持。”将数组数组传递给C#中的DLL的安全方法是什么?
我可以通过一个单一的数组,但如果我堆叠它失败。我需要/想要一个传递数组数组的“安全”方式。
private static extern int PrintStuff(string[][] someStringsInGroups, int numberOfGroups, int[] lengthSetsInGroups);
编辑:我也愿意,有足够的灰心和痛苦,接受涉及编组的解决方案。
为了概括这个想法,你可以把你的二维数组放入任何可串行化的形式 - 比如一维数组,甚至是一个字符串。 – 2009-11-13 22:29:00
我已经在int数组中对一些数据进行了序列化,甚至在C++端进行了一些strut转换,以便您可以读取将数据分配给(o [i] .value v.s. o [i] [7])的内容。当一个字符串被传递给一个DLL时,它会在它的尾部被一个Null封送。如果我将其序列化,那么我的自我必须添加这些内容。这并不是什么大不了的事情,但代码就像是让我周围的技术人员感到不安。另一个要求是所有的代码在C#中都是“安全的”。另一个解决方案是实际地武装数据manully :( – QueueHammer 2009-11-13 23:06:32