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

标签 c# .net exception windows-store-apps portable-class-library

在为 .NET 设计自定义异常时,MSDN 提供了 these guidelines .特别是,指南指出自定义异常:

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

但是,在 Portable Class Library SerializableAttributeISerializableSerializationInfo 均不受支持。

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

最佳答案

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

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

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

关于c# - 在可移植类库中实现自定义异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13604713/

相关文章:

c# - 适用于 Windows Phone 8 的 IsolatedStorageFile 或 Windows.Storage API?

c# - 如何使用 API 获取 Google Picasa 帐户的剩余存储空间?

c# - 更新 HttpContext.Current.Request.QueryString

java - 这是异常处理滥用吗?

python - 我可以收到有关我的 GAE 应用程序错误的电子邮件通知吗?

c# - 如何在不让用户在命令提示符下使用 lodctr 重建的情况下让性能计数器工作?

c# - 通过代码(C# 或 PowerShell)获取有关进程(如 Sysinternals Process Explorer)的 .NET 程序集信息

c# - Windows .NET 框架的所有可用语言列表

c# - 了解 C# 中具有 "ContinueWith"行为的异步/等待与等待

java - 每次java.lang.exception.getCause()都为null