次の 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# からそのようなメソッドを呼び出すにはどうすればよいですか? ありがとう!