-1
我想爲靜態類中的不同客戶端dll聲明Import語句。如何動態使用DLL名稱作爲C#導入的一部分#
大多數API都遵循相同的方法簽名,而對於少數API,參數方面存在差異。我想通過使用條件編譯參數來實現這一點,其中對於公共API,必須使用用戶在條件參數中給出的名稱來重新定義DLL名稱。只有當用戶在條件參數中給出時,才需要包含項目特定的導入語句。
可以這樣做嗎?
namespace Import
{
static class ClientImport
{
public static string DLLNAME;
#if USERAS
[DllImport("IDEARASClient.dll", CallingConvention = CallingConvention.StdCall)]
public static extern Int32 InitilizeClient(String ProtocalSequence,String NetworkAddress,String PortNoString,String TempLogPath,ref Int32 hClient);
#else
DLLNAME = "IDEARASClient.dll";
#endif
[DllImport(DLLNAME, CallingConvention = CallingConvention.StdCall)]
public static extern Int32 InitilizeClient(String
ProtocalSequence,String NetworkAddress,String PortNoString,String
TempLogPath,ref Int32 hClient);
}
}