Здравствуйте.
Я использую библиотеку для работы с моделями, которая использует две другие библиотеки для работы с контекстом модели в зависимости от ее типа.
Пусть будет
Type1 и
Type2.
Принцип работы у обеих библиотек полностью одинаковый, классы идентичны, отличаются только пути к этим классам.
Например для первой
Type1.Resource и для второй
Type2.Resource.
Для работы с моделью я создал два класса
LinksMasterType1 и
LinksMasterType2, с полностью идентичным кодом, но с разным набором подключаемых библиотек.
Для первой:
using Type1.Resource;
Для второй, соответственно, Type2.Resource.
Классы имеют один общий интерфейс
ILinksMaster.
Дальше, в зависимости от типа модели я инициализирую нужный класс и работаю в программе через него.
ILinksMaster linksMaster = null;
switch(type)
case(type1)
linksMaster = new LinksMasterType1();
break;
case(type2)
linksMaster = new LinksMasterType2();
break;
И все работает, но, если что то поменялось, то мне приходится вносить изменения в оба класса.
Можно ли каким нибудь образом либо динамически подключать библиотеки, либо использовать любой другой путь, который позволит мне держать только один класс LinksMaster, но использовать разные типы переменных в зависимости от условий.
Спасибо.