Какова самая простая реализация IDynamicMetaObjectProvider? - PullRequest
3 голосов
/ 07 мая 2010

У меня есть такой сценарий ...

1.- Я предоставляю «Динамическую таблицу», для которой пользователи могут определять поля.Каждая динамическая таблица будет иметь столько строк / записей, сколько необходимо, но определения полей централизованы.

2.- Мой класс динамической строки / записи был унаследован от класса .NET DLR DynamicObject, и базовое хранилище былоСписок, соответствующим образом связанный с определяющими полями.Все отлично работает!НО ...

3.- Поскольку мне нужно сериализовать содержимое, а DynamicObject не поддерживает сериализацию, я был вынужден генерировать и переносить динамический объект, когда требуется динамический доступ к элементу.Но это уродливо и излишне.

Итак, мне нужно самому реализовать IDynamicMetaObjectProvider для совместного динамического доступа и сериализации.

После неудачного поиска в Google / bing я прошу вашей помощи ... Может кто-нибудьпожалуйста, приведите хороший пример (или связанную ссылку) для этого?

Ответы [ 2 ]

2 голосов
/ 07 мая 2010

Звучит так, будто вы заново изобретаете класс ExpandoObject . Вместо этого рассмотрим коллекцию из них для вашей реализации.

1 голос
/ 18 июня 2010

Решением было реализовать пользовательскую сериализацию. Реализуйте интерфейс ISerializable, а также конструктор десериализации.

Для реализации IDynamicMetaObjectProvider требуется меньше времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...