У меня вопрос к знатокам C# и Trans2Quik.
У меня автомат работает с квиком через файловый ввод заявок и работают три разных Квика. Я решил попробовать использовать Trans2Quik.
Правильно ли я понимаю, что при этом мне нужно писать разные классы-врапперы Trans2Quik для каждой TRans2Quik.dll ?
Ну, например, что то вроде такого:
public interface ITrans2Quik
{
// члены интерфейса
}
// TRANS2QUIK_1.DLL
public class Trans2Quik_1 : ITrans2Quik
{
private readonly string _pathToQuik;
[DllImport("TRANS2QUIK_1.DLL", EntryPoint = "_TRANS2QUIK_CONNECT@16", CallingConvention = CallingConvention.StdCall)]
public static extern long connect(string lpcstrConnectionParamsString, ref long pnExtendedErrorCode,
byte[] lpstrErrorMessage, UInt32 dwErrorMessageSize);
// и т.д.
}
// TRANS2QUIK_2.DLL
public class Trans2Quik_2 : ITrans2Quik
{
private readonly string _pathToQuik;
[DllImport("TRANS2QUIK_2.DLL", EntryPoint = "_TRANS2QUIK_CONNECT@16", CallingConvention = CallingConvention.StdCall)]
public static extern long connect(string lpcstrConnectionParamsString, ref long pnExtendedErrorCode,
byte[] lpstrErrorMessage, UInt32 dwErrorMessageSize);
// и т.д.
}
Таким образом, в данной реализации для добавления нового Квика, работающего со своей TRans2Quik.dll мне нужно создавать и новый класс Trans2Quik_N.
Дело в том, что 1-ый параметр DllImport это const string.
Вопрос: Нельзя ли как то на С# динамически создавать тип Trans2Quik, но с разными значениями поля где храниться значение "TRANS2QUIK.DLL" ?
Или подскажите идею реализации добавления нового враппера при помощи создания нового экземпляра без создания нового класса.