2016-12-05 70 views
0

Tl; dr我想要设置一组键值对,其中的值可以是多种类型,但也可以使用ISerializable进行序列化。这是可能的,如果是的话,我该如何去实现它?Key Value Pair Collection,其中的值可以是多种类型?

我试图替换现有系统中的代码,其中Hashtables存储在Session变量中,允许开发人员根据指定的键存储多种类型的对象。我试图转换系统,以便它可以使用SqlServer SessionState(将Session数据存储在db而不是内存中),这需要将所有添加到Session对象的所有内容都设置为ISerializable

希望这可以通过我自己的Generic数据类来实现,它可以封装集合中多个类型的对象。我只是不太明白(我已经使用了大量的泛型集合,只是从来没有建立我自己的泛型类,所以我很努力地看到我该怎么做)。

非常感谢在此提供任何建议。

+0

有什么问题,只是'词典'? –

回答

0

基本上,你想要Dictionary<TKey, TValue>其中TValue必须实现ISerializable。因为字典有你需要的一切的实现,只有太宽容与TValue类型,它足以创建类,它继承了字典,并增加了通用的限制:

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

感谢您的投入Mr. Shadow先生,我一直未能继续这项工作,但我保证我会回来收拾这个问题,当我可以的时候! – Ted

相关问题