在为 .NET 设计自定义异常时,MSDN 提供了 these guidelines .特别是,指南指出自定义异常:
- 应该是可序列化的,即实现
ISerializable
并用[Serializable]
属性装饰,并且 - 应该实现(反)序列化构造函数,即
protected CustomException(SerializationInfo info, StreamingContext context)
。
但是,在 Portable Class Library SerializableAttribute
、ISerializable
和 SerializationInfo
均不受支持。
我应该如何在同时针对 .NET Framework 和一个或多个平台的可移植类库中充分设计自定义异常?
最佳答案
基本上,请忽略该指南 - 它适用于完整的 .NET,不适用于可移植类库项目。事实上,如果我们看(比如说)Silverlight (包括 WP7)我们看到:
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public class Exception
坦率地说,该需求的主要消费者是远程处理......现在需求量不大。
关于c# - 在可移植类库中实现自定义异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13604713/