2010-05-07 169 views
3

我有這種情況...什麼是IDynamicMetaObjectProvider最簡單的實現?

1.-我提供了一個「動態表」,用戶可以定義字段。每個動態表將根據需要具有儘可能多的行/記錄,但字段定義是集中的。

2.-我的動態行/記錄類是從.NET DLR DynamicObject類繼承而來的,底層存儲是一個與定義字段適當關聯的List。一切正常!但...

3.-因爲我需要對內容進行序列化,並且DynamicObject不是可序列化的,所以當需要動態成員訪問時,我不得不生成並攜帶動態對象。但這是醜陋的和多餘的。

所以,我需要自己實現IDynamicMetaObjectProvider來實現動態訪問和序列化。

谷歌搜索/結果失敗後,我要求你的幫助... 任何人都可以請一個很好的例子(或相關鏈接)做到這一點?

回答

1

解決方案是實現自定義序列化。 實現ISerializable接口,加上反序列化構造函數。

實現IDynamicMetaObjectProvider所花費的時間較少。

2

聽起來像你正在重新發明ExpandoObject class。考慮一下你的實現的集合。

+0

否。由於未設置集中式字段定義,所以對於孤立對象,ExpandoObject更好。另外,它不是可串行化的。 – 2010-05-07 14:42:45

相關問題