IDynamicMetaObjectProvider的最简单实现是什么?

3
我有一个场景...
1.- 我提供了一个"动态表格",用户可以定义字段。每个动态表格将拥有所需的行/记录数量,但字段定义是集中管理的。
2.- 我的动态行/记录类继承自.NET DLR DynamicObject类,并且底层存储是与定义字段适当关联的列表。一切正常!但是...
3.- 因为我需要序列化内容,而DynamicObject不可序列化,所以我被迫在需要动态成员访问时生成并携带动态对象。但这很丑陋且冗余。
所以,我需要实现IDynamicMetaObjectProvider来实现动态访问和序列化。
在谷歌/必应上搜索失败后,我请求您的帮助... 请问是否有人能给出一个好的例子(或相关链接)来完成这个任务?
2个回答

2
听起来你正在重新发明 ExpandoObject 类。考虑使用该类的集合来实现你的功能。

ExpandoObject更适合于孤立的对象,因为没有集中的字段定义设置。此外,它不可序列化。 - Néstor Sánchez A.

1
解决方案是实现自定义序列化。 实现ISerializable接口,以及反序列化构造函数。
这比实现IDynamicMetaObjectProvider花费更少的时间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接