Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] подключение разных сборок с одинаковыми методами (http://forum.oszone.net/showthread.php?t=268416)

Surround 19-09-2013 18:15 2220555

подключение разных сборок с одинаковыми методами
 
Здравствуйте!
Есть такая хитрая ситуация: две библиотеки-посредника для получения данных из некоторых баз. Подключаются к проекту посредством Using. Наименования методов и классов одинаковы, но, соответственно работают они в разных контекстах (базах). В проекте есть метод получения данных, он должен по параметру обращаться то к одной, то к другой библиотеке. Все бы ничего, но метод также использует и типы данных, получаемые из подключаемых модулей. По сути дела, код один и тот же, только обращение к данных зависит от того, какая ссылка подключена в Using. Мучаюсь с идеей, а возможно ли, например, для блока кода определить свой контекст подключаемой сборки, ведь логика кода неизменна, а типы данных зависят только от подключенной в Using сборки?

LilLoco 20-09-2013 08:28 2220847

Surround, не совсем понятно что нужно сделать.
Но из того что понял:
в Using указать обе библиотеки. Потом использовать делегаты. И в зависимости от логики вызывать функции из сборок.

Surround 20-09-2013 10:43 2220889

LilLoco, да, что-то типа такого требуется. Подключаются две сборки, например, но в зависимости от условия переменная имеет тип из одной, или другой сборки (название типа абсолютно одинаковы, разное лишь происхождение, родительская сборка). То же самое и с методами, т.е. obj.method может быть из разного происхождения

ViRTaCe 25-09-2013 00:52 2223476

Если я правильно понял ваш вопрос, то вам нужно однозначно идентифицировать метод. Для этого можно использовать полное название классов для получения экземпляра, вместо сокращенного. Например:
Код:

FirstLib.Sublib.MyClass //Вмето, MyClass
SecondLib.SubLib.MyClass //Аналогично предыдущему


Surround 03-10-2013 09:17 2227778

В принципе, на данном этапе решил проблему создание еще одного подобного дочернего класса с переименованными методами.
Спасибо!


Время: 20:11.

Время: 20:11.
© OSzone.net 2001-