前提:我有两个DLL,一个是32位和64位,它们都有相同的方法。
问题:我无法在任何地方使用32位版本。
[DllImport("Epsonx86.dll")]
private static extern int PrintLine(string line);
[DllImport("Epsonx64.dll")]
private static extern int PrintLine(string line);
...
显然,我不能用这个:
string dllName = Environment.Is64BitOperatingSystem ? "Epsonx64.dll" : "Epsonx86.dll";
[DllImport(dllName)] //Error here.
...
那么,如何使代码与两者兼容而不必大量if's
?
我正在执行Interface
实施......好吧,我开始使用Interface
。
IEpson print;
if (Environment.Is64BitOperatingSystem)
{
print = new InterfaceEpsonNfx64();
}
else
{
print = new InterfaceEpsonNfx86();
}
print.PrintLine("BlaBla");