我发现一个反复出现的不便是.Net框架中的许多简单类型都没有标记为可序列化.例如:System.Drawing.Point或Rectangle.
这些结构只包含原始数据,并且应该可以容易地以任何格式进行序列化.但是,由于缺少[ System.Serializable]属性,我无法使用它们BinaryFormatter.
这有什么理由,我没有看到?
就我个人而言,我认为这与推卸责任的需要关系不大,而更多地与实用性和实际使用的事实有关,再加上 .NET Framework 只是一个框架这一事实。它旨在成为一个垫脚石,为您提供完成任务的基础知识,而这些任务在其他语言中可能是令人畏惧的,而不是为您做所有事情。
实际上没有什么可以阻止您创建自己的序列化机制和扩展来提供您正在寻求的功能,或者依赖许多其他自由或付费产品来为您实现 OOB 功能。
诚然,@Hans Passant 的答案是我认为非常接近事实,除了“这不是我的问题”之外,还有很多其他方面。你可以采取任何你想要的方式,但你最终需要摆脱的是“我能从这里去哪里?”
| 归档时间: |
|
| 查看次数: |
348 次 |
| 最近记录: |