Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在可移植类库中实现自定义异常_C#_.net_Exception_Windows Store Apps_Portable Class Library - Fatal编程技术网

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

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

在为.NET设计自定义异常时,MSDN提供了。特别是,指南规定了一个自定义例外:

  • 应该是可序列化的,即实现
    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