私は何百もの関数でネイティブ ライブラリをラップしていますが、それらの関数のすべての上にその DllImport を入力するのはまったく面倒です。
これらの醜い/繰り返される属性をすべての関数の上に書かないようにする方法はありますか?
public const string NativeDll = "mynativelib.dll";
[DllImport(NativeDll, CallingConvention = CallingConvention.Cdecl)]
public static extern void foo1();
[DllImport(NativeDll, CallingConvention = CallingConvention.Cdecl)]
public static extern void foo2();
[DllImport(NativeDll, CallingConvention = CallingConvention.Cdecl)]
public static extern void foo3();
[DllImport(NativeDll, CallingConvention = CallingConvention.Cdecl)]
public static extern void foo4();
...
[DllImport(NativeDll, CallingConvention = CallingConvention.Cdecl)]
public static extern void fooN();