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

2024-02-25

在为 .NET 设计自定义异常时,MSDN 提供了这些指导方针 http://msdn.microsoft.com/en-us/library/ms229064.aspx。特别是,指南规定自定义异常:

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

然而,在一个便携式类库 http://msdn.microsoft.com/en-us/library/gg597391.aspx两者都不是SerializableAttribute, ISerializable and SerializationInfo都支持。

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


基本上,忽略该指南 - 这是针对完整的 .NET,并且不适用于可移植类库项目。确实,如果我们看(比如说)银光 http://msdn.microsoft.com/en-us/library/system.exception(v=vs.95).aspx(其中包括 WP7)我们看到:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在可移植类库中实现自定义异常 的相关文章

  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 如何让Gtk+窗口背景透明?

    我想让 Gtk 窗口的背景透明 以便只有窗口中的小部件可见 我找到了一些教程 http mikehearn wordpress com 2006 03 26 gtk windows with alpha channels https web
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 我的嵌套循环有问题 我有多个帖子 每个帖子都有多个图像 我想从所有帖子中获取总共 5 张图片 所以我使用嵌套循环来获取图像 并希望在数量达到 5 时中断循环 以下代码将返回图像 但似乎不会中断循环 foreach
  • 为什么 R 中的循环很慢?

    我知道循环很慢R我应该尝试以矢量化的方式做事 但为什么 为什么循环很慢并且apply快吗 apply调用几个子函数 这看起来并不快 Update 抱歉 这个问题问得不好 我将矢量化与apply 我的问题应该是 为什么矢量化速度更快 循环并不
  • 获取 Jekyll 中两个日期之间的天数差异

    我想知道杰基尔两个日期之间的天数差异 我怎样才能实现这个目标 capture currentDate site time date Y m d endcapture currentDate capture event date entry
  • 在 Go 中测试空字符串的最佳方法是什么?

    哪种方法最适合测试非空字符串 在 Go 中 if len mystring gt 0 Or if mystring 或者是其他东西 这两种样式都在 Go 的标准库中使用 if len s gt 0 可以在strconv包裹 http gol
  • 如何在CSS中使进度条的角变圆

    对于我的进度条 我希望边缘变圆并在进度条内显示百分比 我设法使进度值的角变圆 但不使条 背景变圆 而且动画似乎也不起作用 css progress bar body font family Helvetica Neue arial sans
  • 如何用c++建立简单的ssh连接

    我正在尝试制作一个 C 程序 它将连接到 ssh 服务器 我的笔记本电脑 服务器没问题 因为我可以通过 putty 连接 虽然我目前写的程序还不能 在我的代码中 我使用库 libssh h 并使用 Visual Studio 2015 进行
  • 使图片元素中的图像适合其容器

    我有以下代码 container background steelblue width 333px height 333px picture img object fit cover div div
  • 按日期显示 MySQL 结果

    我有这个 mysql 表 date query count 2012 11 18 09 52 00 Michael 1 2012 11 18 10 47 10 Tom 2 2012 11 17 15 02 12 John 1 2012 11
  • 使用 Gradle 从单个源项目编译多个 jar

    我正在使用 Gradle 构建一个用于 Spark 应用程序的库 此类库通常以 Scala 版本和 Spark 版本的多种组合形式提供 例如 对于火花测试基地 https github com holdenk spark testing b
  • Python3 中使用 strtobool 的 Yes/No 提示

    我一直在尝试为将在命令行上运行的脚本编写一个优雅的 y n 提示 我遇到过这个 http mattoc com python yes no prompt cli html http mattoc com python yes no prom
  • URLDownloadToFile - 下载文件中缺少数据

    Using URLDownloadToFile在 VBA 中 我正在尝试下载一个文件 问题是正在下载一个空白文件 知道为什么数据丢失吗 Option Explicit Private Declare Function URLDownload
  • LINQ to Entities 无法识别方法

    我有一个很长的 Linq To Entities 查询 reports db CallProfileDailies Join db ReportDailyTotals cpd gt cpd Date rdt gt rdt Date cpd
  • 如何匹配由连字符和空格等特殊字符组成的字符串

    我有一个字符串 word A Scan Ultrasonic 如何将其与 A Scan Ultrasonic 我试过我的运气 word regex A Scan Ultrasonic options i 但这并没有得到任何结果 我可以知道如
  • 如何在 RichFaces 4 fileUpload 组件中显示有关最大文件大小限制的消息

    我已经使用 RichFaces 4 3 实现了文件上传 文件上传工作正常 有关文件类型的警报工作正常 但有关最大文件大小限制的警报则不然 文件上传代码
  • g++ 以 UTF-16 编码编译源代码

    g 不编译我的 UTF 16 编码的源文件 是否可以这样做或者我应该使用 UTF 8 编码 None
  • Puppeteer 错误:加载共享库时出错:libgobject-2.0.so.0

    我在 Google Cloud Run 上部署了一个 NestJS 应用程序 它使用 puppeteer V7 0 1 生成 PDF 在本地 一切都工作得很好 但在我的 Cloud Run Service 上 我不断收到以下错误 usr a
  • 如何从 Perl 正则表达式生成所有可能的排列?

    我知道你可以使用列表生成所有排列glob http perldoc perl org functions glob html or 算法 置换 http search cpan org dist Algorithm Permute例如 但如
  • 我正在尝试在 Cocoapods 中制作一个vendered_frameworks

    我想要做的是创建一个可可豆荚 它不显示我的源代码的实现 有人告诉我你可以使用 s ios vendored frameworks 并嵌入你的框架 就像 iOS 对其框架所做的那样 我想做的是嵌入我的框架 但不让我的源文件可见并能够编辑 我究
  • RecyclerView 使用 DiffUtil,防止在更改时滚动底部

    我的方法有问题recyclerViev 特别是滚动 我有一些列表 它是实时更新的 添加了一些项目 删除了一些项目 并且所有内容都按某个参数排序 因此 最初在列表中第一个的项目可以更改其参数 排序后该项目将处于不同的位置 So my recy
  • 在可移植类库中实现自定义异常

    在为 NET 设计自定义异常时 MSDN 提供了这些指导方针 http msdn microsoft com en us library ms229064 aspx 特别是 指南规定自定义异常 应该是可序列化的 即实现ISerializab