Re[3]: Непонятная штука с reflection
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.09.05 12:16
Оценка: 1 (1)
Здравствуйте, fspirit, Вы писали:

F>Ну, это я уже отчаился, когда не мог привести к базовому абстрактному типу и решил проверить конкретный.


Тогад лучше опиши проблему (исходную) и скорее всего решение окажется куда проще.

F>Все-таки мне непонятно, почему вынужден приводить его к интерфейсу. Как-то это нелогично.


Создаваемый тип определен в сборке неизвестной на момент компиляции. Логично? Значит мы не можем использовать его из программного кода исходной борки. Тоже вроде логчно...

Но мы можем описать в исходной сборке тип который можно реализовать в динамической сборке. Так? Ну, вот мы и экспортируем тип в динамическую сборку где его успешно реализуем. Далее по имени создаем экземпляр класса из динамической сборки. При этом он возвращается как object. С object-ом мы можем работать только чрезе рефлексию. Привести object к типу из динамической сборки мы не можем, но мы можем привести object и нашему интерфейсу, ведь он известен в исходной сборке и реализован в созданном нами классе. Вот мы это и делаем. Ну, а дальше работаем с интерфейсом полиморфно (нам ведь все равно кто его раелизует!).
... << RSDN@Home 1.2.0 alpha rev. 611>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.