Lam*_*lex 6 c# generics serialization dictionary
我正在寻找一种方法来确保只有可序列化的对象存储在C#中的Dictionary中.
更具体地说,我希望做类似的事情:
Dictionary<String, ISerializable> serialDict = new Dictionary<String, ISerializable>();
Run Code Online (Sandbox Code Playgroud)
这个问题是我不能存储整数类型,如整数,布尔值或字符串.
有没有办法确保我的词典只包含可以序列化的对象?
我认为你不能在编译时执行此操作,但可以在运行时执行此操作。如果您构建自己的派生类Dictionary<TKey, TValue>,则在类的构造函数中,您可以检查附加到该类型的属性TValue,并确保SerializableAttribute是其中之一,否则抛出异常。
所有标准基元类型(int、bool等)都具有此属性。
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |