钥匙值对集合,其中值可以是多种类型的



tl;我想设置一个键值对的集合,其中值可以是多种类型的,但也可以与ISerializable序列化。这是可能的,如果是这样,我该如何实现?

我正在尝试在Hashtables存储在Session变量中的现有系统中,使开发人员可以在指定的键内存储多种类型的对象。我正在尝试转换系统,以便它可以使用SqlServer SessionState(将Session数据存储在DB中,而不是在内存中),这要求将所有添加到Session对象均为ISerializable

希望可以使用我自己的通用数据类来以某种方式来实现收藏集中多种类型的对象?我只是看不到是如何使用的(我使用了很多通用集合,只是从未设置自己的通用类,所以我努力地看我是如何做的)。

非常感谢您就可能的方法提供任何建议。

基本上,您需要Dictionary<TKey, TValue>,其中TValue必须实现iSerializable。由于字典具有您需要的所有实现,并且仅对TVAlue类型过于允许,因此足以创建继承字典的类并添加通用约束:

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

最新更新