3

私はこのシナリオを持っています...

1.- ユーザーがフィールドを定義できる「動的テーブル」を提供しています。各動的テーブルには必要な数の行/レコードがありますが、フィールド定義は集中化されています。

2.- 私の Dynamic Row/Record クラスは .NET DLR DynamicObject クラスから継承され、基になるストレージは定義フィールドに適切に関連付けられた List でした。すべてがうまくいきます!しかし...

3.- コンテンツをシリアル化する必要があり、DynamicObject は Serializable ではないため、動的メンバー アクセスが必要な場合は動的オブジェクトを生成して運ぶ必要がありました。しかし、これは醜く冗長です。

したがって、IDynamicMetaObjectProvider を自分で実装して、動的アクセスとシリアル化を同時に実現する必要があります。

グーグル/ビンジングに失敗した後、私はあなたの助けを求めます.誰かがそれを行うための良い例(または関連リンク)を教えてください?

4

2 に答える 2

2

ExpandoObject クラスを再発明しているように思えます。代わりに、実装のためにそれらのコレクションを検討してください。

于 2010-05-07T13:48:52.240 に答える
1

解決策は、カスタム シリアル化を実装することでした。ISerializable インターフェイスと逆シリアル化コンストラクターを実装します。

IDynamicMetaObjectProvider を実装するのに時間がかかりません。

于 2010-06-18T03:58:48.223 に答える