C# 在可移植类库中实现自定义异常
在为.NET设计自定义异常时,MSDN提供了。特别是,指南规定了一个自定义例外:C# 在可移植类库中实现自定义异常,c#,.net,exception,windows-store-apps,portable-class-library,C#,.net,Exception,Windows Store Apps,Portable Class Library,在为.NET设计自定义异常时,MSDN提供了。特别是,指南规定了一个自定义例外: 应该是可序列化的,即实现ISerializable,并用[serializable]属性修饰,以及 应实现(反)序列化构造函数,即受保护的CustomException(SerializationInfo,StreamingContext上下文) 但是,在SerializableAttribute中,都不支持ISerializable和SerializationInfo 如何在同时针对.NET Framewor
- 应该是可序列化的,即实现
,并用ISerializable
属性修饰,以及[serializable]
- 应实现(反)序列化构造函数,即受保护的CustomException(SerializationInfo,StreamingContext上下文)
SerializableAttribute
中,都不支持ISerializable
和SerializationInfo
如何在同时针对.NET Framework和一个或多个平台的可移植类库中充分设计自定义异常?基本上,忽略该指导-即针对完整的.NET,不适用于可移植类库项目。事实上,如果我们看看(比如)(包括WP7),我们会发现:
坦率地说,该要求的主要消费者是远程处理。。。现在这方面的需求量不大。非常感谢您的澄清,马克。我怀疑是这样的(例如,指南没有针对.NET 4.5进行更新),但从可靠的来源获得确认更为可靠。@Anders我在“社区内容”部分添加了一些注释-它们可能会在某个时候出现。不过,其中一些注释是在运行时强制执行的。例如,如果您尝试向Exception.Data collection添加某些内容,它将在完整框架上引发异常,但不会在Silverlight上引发异常。
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public class Exception