What is the most simple implementation of IDynamicMetaObjectProvider?

I have this scenario...

1.- I'm providing a "Dynamic Table" for wich users can define Fields. Each Dynamic Table will have as many rows/records as needed, but the Field definitions are centralized.

2.- My Dynamic Row/Record class was inherited from the .NET DLR DynamicObject class, and the underlying storage was a List appropriately associated to the defining fields. Everything works fine! BUT...

3.- Because I need to Serialize the content, and DynamicObject is not Serializable, I was forced to generate and carry a Dynamic Object when dynamic member access is required. But this is ugly and redundant.

So, I need to implement IDynamicMetaObjectProvider myself to achieve dynamic access and serialization together.

After googling/binging unsuccessfully I ask for your help... Can anybody please give a good example (or related link) for doing that?

Upvotes: 3

Views: 1480

Answers (2)

The solution was to implement Custom Serialization. Implement the ISerializable interface, plus the deserialization constructor.

It takes less time that implement IDynamicMetaObjectProvider.

Upvotes: 1

Hans Passant
Hans Passant

Reputation: 942548

Sounds to me like you are re-inventing the ExpandoObject class. Consider a collection of those for your implementation instead.

Upvotes: 2

Related Questions