问题描述
[DllImport(“MyDLL.dll")]//返回个int类型publicstaticexternintmySum(inta1,intb1);请问各位专家,怎么把"MyDll.dll"用变量代替?方便二次封装.
解决方案
解决方案二:
我印象中,只能attribute中只能使用conststring[DllImport(DllName,CharSet=CharSet.Unicode)]publicstaticexternintmySum(inta1,intb1);privateconststringDllName="MyDLL.dll";如果要动态改变,估计得动态载入dll参考下面讨论中的LoadLibrary,GetProcAddress和FreeLibrary部分
解决方案三:
属性的东西,在编译的时候必须确定下来。所以不可以用其它的变量,但是可以用常量这些。如果你想二次包装,可以为每一个DLL编写一个C#类,这样不就达到你二次封装的目的了吗。
解决方案四:
还是动态载入合适点
时间: 2024-08-15 21:18:50