在可移植类库中实现自定义异常



在为.NET设计自定义异常时,MSDN提供了这些准则。特别是,指南指出了一个自定义异常:

  • 应该是可序列化的,即实现ISerializable并用[Serializable]属性进行装饰,以及
  • 应该实现(反)序列化构造函数,即protected CustomException(SerializationInfo info, StreamingContext context)

但是,在可移植类库中,不支持SerializableAttributeISerializableSerializationInfo

我应该如何在同时针对.NET Framework和一个或多个平台的可移植类库中充分设计自定义异常?

基本上,忽略该指南-该指南适用于完整的.NET,不适用于可移植类库项目。事实上,如果我们看看(比如)Silverlight(包括WP7),我们会看到:

[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public class Exception

坦率地说,该要求的主要消费者是远程。。。而现在需求量并不大。

最新更新