マネージ VB.NET からアンマネージ C++ コードを P/Invoking しています。
私のコード:
Imports System.Runtime.InteropServices
#Const MyLibPath = "mylib.dll"
Namespace MyLib
Class A
<DllImport(MyLibPath)> _
Public Shared Sub foo()
End Sub
End Class
End Namespace
エラーが発生します:
名前 'MyLibPath' が宣言されていません
へのfilename
引数DllImport
は一定であると想定されているのに、なぜ使用できないの#Const
でしょうか?
別の方法は、文字列リテラルを記述するか、ファイル名をPrivate Const
変数に格納することですDllImport
が、同じ DLL に対して多数の が異なるクラスに分散している場合、これは繰り返されます。私は本当に1つの定数が欲しいだけです。