IDynamicMetaObjectProvider最简单的实现是什么?

时间:2010-05-07 13:27:22

标签: .net serialization dynamic dynamic-language-runtime

我有这个场景......

1.-我正在为用户提供“动态表”以定义字段。每个动态表将根据需要包含尽可能多的行/记录,但字段定义是集中的。

2.-我的Dynamic Row / Record类继承自.NET DLR DynamicObject类,底层存储是与定义字段相关联的List。一切正常!但是...

3.-因为我需要序列化内容,而DynamicObject不是Serializable,所以当需要动态成员访问时,我被迫生成并携带动态对象。但这是丑陋和多余的。

所以,我需要自己实现IDynamicMetaObjectProvider来实现动态访问和序列化。

谷歌搜索/ binging失败后,我请求你的帮助...... 有人可以举一个很好的例子(或相关链接)吗?

2 个答案:

答案 0 :(得分:2)

听起来像你正在重新发明ExpandoObject class。考虑一下这些实现的集合。

答案 1 :(得分:1)

解决方案是实现自定义序列化。 实现ISerializable接口,以及反序列化构造函数。

实现IDynamicMetaObjectProvider需要更少的时间。