Здравствуйте, vdimas, Вы писали:
AVK>>А XML DOM что, не иерархическая? Зачем велосипеды то изобретать?
V>А затем, что бы можно было подавать произвольную структуру в качестве источника данных.
Что то я видимо не понимаю. Произвольную структуру передавать нельзя вне зависимости от формата, потому что для любой структуры нужна поддержка со стороны обрабатывающего кода. И самопальные деревья ничуть не лучше в этом плане XML.
V> Если говоришь, что знаешь НЕТ, то напомню, что биндинг можно выполнять к произвольным публичным свойствам.
Ну и что? Ну какая разница как будет происходить биндинг — к метаданнным классов или к тегам XML?
V> И для этого не надо писать МОРЕ РУКОПИСНОГО ТЕКСТА,
А почему ты решил что подобное в случае XML невозможно?
V> т.к. все средства для поддержки биндига уже есть.
Биндинг предназначен совсем для другого.
V>Это, конечно, вырожденный пример, но показывает суть. Мы (приложение) сможем формировать произвольную структуру из произвольных классов в памяти, главное чтобы имена полей на отчете соответствовали публичным свойствам объектов в этой структуре (впрочем, это верно и для источника — рекордсета).
Напомниаю — отчет это немножко другое. Попробуй при помощи замечательного биндинга прибиндить дерево ввиде плоской структуры со ссылками на родителя. Биндинг хорош при отображении плоских списков, связанных между собой. А вот структуры послежнее вызывают серьезный гемморой. Для интерфейса это еще терпимо, а вот для отчетов никуда не годится, поскольку структура представления может кардинально отличаться от структуры данных. Одни и те же данные могут повторяться многократно, порядок отображения меняться, иерархические структуры перестраиваться. Прелесть биндинга не в том что ты описал, много ума пользоваться рефлекшеном не надо, прелесть биндинга в другой фишке, в BindingContext, а вот для отчетов эта фишка бесполезна.
AVK>>Зачем? чтобы писать две версии генератора для разных форматов?
V>Ну, ЧУДАК ЧЕЛОВЕК!!!! Это мы .NET знаем?
Попрошу все таки не учить меня дотнету, со стороны выглядит смешно.
V>Да в одной строке сериализуем модель отчета как XML, а в другой — как Binary!!! И считываем аналогично — по одной строке на формат — .NET все сама делает.
Никто и ничего сам делать не будет и сериализация тут не при чем. Механика наложения шаблона на данные должна либо знать семантику входных данных, либо иметь средства их описания.
AVK>>Не рассказывай мне что такое дотнет, я это хорошо представляю. Я вижу другое — море рукописных алгоритмов, которых можно избежать.
V>Мы их уже избежали.
Вы это кто?
... << RSDN@Home 1.1 beta 1 >>