我正在尝试调用以下 FORTRAN 方法:
subroutine MYMETHOD(THEARRAY)
带参数
CHARACTER*200 :: THEARRAY(2)
这看起来很简单,但我遇到了麻烦,因为它是一个字符数组数组。我已经尝试了几种方法,包括封送处理(由于有多个字符串而遇到问题。)我能想到的最好的方法是:
[DllImport("theFortranDLL.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void MYMETHOD(THEARRAY);
static void Main(string[] args)
{
StringBuilder[] theArray = new StringBuilder[2];
theArray[0] = new StringBuilder("DataA",200);
theArray[1] = new StringBuilder("DataB",200);
MYMETHOD(theArray);
}
但是,这不起作用。我将如何从 C# 调用这样的方法?谢谢!