DllImport を使用して、レガシー (2012 年 2 月) C プログラムに接続する C# コードを作成しています。これは正常に動作しますが、30 を超えるさまざまな関数を呼び出す必要があり、通常は非の打ちどころのない精巧なコードを象のようなプロポーションに変えてしまいます。確かにこれを回避する方法があるはずですか?[警告: 胃腸の弱い方は、次の内容から目をそらした方がよいかもしれません]:
[DllImport("C:\\Users\\mitt\\Documents\\Visual Studio 2010\\Projects\\mrSolution\\mr\\x64\\Debug\\mrDll.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public static extern bool mrEngine_initialize( [In, Out, MarshalAs(UnmanagedType.LPStruct)] PLOT_SPEC PlotSpec);
[DllImport("C:\\Users\\mitt\\Documents\\Visual Studio 2010\\Projects\\mrSolution\\mr\\x64\\Debug\\mrDll.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public static extern bool mrEngine_getDataPoint( [In, Out, MarshalAs(UnmanagedType.LPStruct)] PLOT_SPEC PlotSpec);