在设计.NET自定义异常时,MSDN提供了这些准则。特别是,准则指出自定义异常应该:
- 可序列化,即实现
ISerializable
并被装饰使用[Serializable]
属性,并且 - 应该实现(反)序列化构造函数,即
protected CustomException(SerializationInfo info, StreamingContext context)
。
然而,在可移植类库中,既不支持SerializableAttribute
,也不支持ISerializable
和SerializationInfo
。
如何在同时针对.NET Framework和一个或多个平台的可移植类库中充分设计自定义异常?