2016-12-05 6 views
0

Tl; dr私はキー値のペアのコレクションを設定したいと思っています。値の型は複数の型がありますが、ISerializableとシリアライズできます。これは可能ですか?もしそうなら、私はそれを達成するためにどうやって行くことができますか? が変数Sessionに格納されている既存のシステムでコードを置き換えようとしているため、開発者は指定されたキーに対して複数のタイプのオブジェクトを格納することができます。私はSessionオブジェクトに追加されたすべてがISerializableであることを要求するSqlServer SessionState(メモリ内ではなく、Sessionデータをデータベースに格納する)を使用できるようにシステムを変換しようとしています。値のペアコレクション、値は複数のタイプになることができますか?

これは、コレクション内の複数のタイプのオブジェクトをラッパーする独自の汎用データクラスを使用していればうまくいくと思いますか?私はどのように(私はジェネリックコレクションをたくさん使いましたが、自分のジェネリッククラスは設定していないので、どうやってこれをやっているのか分かりません)。

これに可能なアプローチに関するアドバイスをいただき、ありがとうございます。

+0

'単に'辞書での問題は何ですか? –

答えて

0

基本的には、TValueがISerializableを実装する必要があるDictionary<TKey, TValue>が必要です。辞書はあなたが必要とするすべての実装を持っているだけTValueタイプとあまりにも寛容であるので、それは辞書を継承し、一般的な制約を追加するクラスを作成するのに十分です:

class DictionaryOfSerializables<TKey, TValue> : Dictionary<TKey, TValue> where TValue : ISerializable 
{ } 
+0

あなたのご意見をお寄せいただきありがとうございましたシャドウさん、私はこの仕事を続けることができませんでしたが、私はできればこの質問を手直しするつもりです! – Ted

関連する問題