3

我有这种情况...

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

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

3.- 因为我需要对内容进行序列化,而DynamicObject不是Serializable,所以在需要动态成员访问的时候,我不得不生成并携带一个Dynamic Object。但这是丑陋和多余的。

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

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

4

2 回答 2

2

在我看来,您正在重新发明ExpandoObject 类。请考虑为您的实现收集这些内容。

于 2010-05-07T13:48:52.240 回答
1

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

实现 IDynamicMetaObjectProvider 所需的时间更少。

于 2010-06-18T03:58:48.223 回答