如何确定给定命名空间中的所有对象是否都是可序列化的?

2023-12-06

一些背景知识:我们要求所有 DTO 对象都是可序列化的,以便它们可以存储在会话中或缓存。

正如您可以想象的那样,这非常烦人并且容易出错...是否有任何使用 Visual Studio 2010 的自动化方法(理想情况下作为构建过程的一部分)来确保命名空间中的所有类都标记有 [Serializable] 属性?


您可能想要考虑的一种可以轻松集成到您的构建中的工具是NDepend。这允许您运行各种代码指标,然后您可以使用它们来警告/失败您的构建。

在 CQL(NDepend 中的内置查询语言)中,您可以编写如下内容:

WARN IF Count > 0 IN SELECT TYPES FROM NAMESPACES "namespace" WHERE !IsSerializable  

显然,这只会找到解决方案中程序集中包含的类型的命名空间,但我认为这就是您的意思。

NDepend 可以作为 VS 中构建的一部分自动运行,也可以在单独的构建服务器上运行。它也可以作为独立应用程序运行。

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

如何确定给定命名空间中的所有对象是否都是可序列化的? 的相关文章

随机推荐

  • Razor View Engine:表达式树可能不包含动态操作

    我有一个与此类似的模型 public class SampleModel public Product Product get set 在我的控制器中 我尝试打印时遇到异常 Html TextBoxFor p gt p Product Na
  • 使用hash时如何将id作为选择器?

    假设有以下 html div test1 div div test2 div 现在 以下内容不起作用 为什么 css test 1 color red jQuery test 2 css color blue 要使用任何元字符 例如 和 作
  • Urban Airship - 使用 NSURLConnection 发送推送

    我正在开发一个简单的原型 需要测试从一台设备向另一台设备发送推送通知 我已向 Urban Airship 发送电子邮件 要求为我的应用程序打开 允许从设备推送 他们确实打开了它 我正在尝试使用 NSURLConnection 从设备发送推送
  • Java ActionListener 错误:类型不兼容

    我在 JButton 上设置 ActionListener 时遇到一些问题 这是代码 package pipes import java awt import java awt event import javax swing public
  • 关闭窗口 - 如何确定窗口是如何打开的?

    在一页上 我有一个超链接target blank 在目标页面上 我有一个 关闭 按钮 它使用 JS 关闭新选项卡 窗口 如果用户点击超链接 我可以使用JS关闭打开的窗口 伟大的 如果用户右键单击链接并选择 在新选项卡中打开 我的 JS 事件
  • 从 GtkBin 扩展

    我正在尝试制作一个自定义小部件 类似于 Gtk 在所有类似 TreeView 的小部件上使用的 快速搜索 条目 这是我最初想法的一个简化示例 from gi repository import Gtk class QuickSearch G
  • 何时在 Modelica 语言中使用 noEvent 运算符?

    Modelica 中的 noEvent 运算符不使用迭代来查找触发事件的精确时刻 看来这会导致计算错误 这是我在以下网站上找到的示例https mbe modelica university behavior discrete decay
  • 如果不存在安全规则,Firestore 将创建文档

    我试图编写一个规则 如果文档的 id 不存在 则创建一个新文档 我的目标是 Message message new Message userId title messageBody timestamp 我正在使用WriteBatch创建一个
  • Socket.io“连接”事件在每个客户端心跳上触发?

    我有一个基本的 Socket io 服务器设置 如下所示 var server express createServer listen port this io socketIO listen server this io sockets
  • 如何让数据网格表现得像 ctrl 键处于活动状态?

    我希望我的数据网格默认的行为就像用户按住控制键一样 因此 当单击一个项目时 然后单击另一个项目 它们都是选择的一部分 再次单击它们会将它们从选择中删除 我已经有了allowMultipleSelection true但我似乎找不到任何可以执
  • 具有最大/最小值的 Accumarray 索引

    我有一个向量和一个大小相同的元胞数组 带有重复字符串 元胞数组定义组 我想找到每个组向量中的最小 最大值 例如 value randperm 5 just an example non unique in general value 4 1
  • Firebase 网络电话号码身份验证不起作用

    我已经在谷歌上搜索了 2 天的 html 和 JavaScript 代码 以便在我的网站中添加 firebase 电话号码身份验证 我看到 firebaseui 正在做这项工作 但它有自己的形式元素 我还没有找到任何文章或视频显示 如何使用
  • 使用 Python 更新 Facebook 状态

    我正在尝试使用 facebook API 解决问题更新状态pyfacebook 所以我看这里使用 pyfacebook 更新 Facebook 页面的状态我认为不再有效了 好吧 最后我解决了这个问题 usr bin python impor
  • Typescript 参数相互依赖

    我不明白下面出现的错误 这是一个最小的可重现示例 其中包含错误消息 type LeftChild element 0 type RightChild element 1 type Left child LeftChild type Righ
  • 在当今时代,是否有合理的理由强制代码文件的最大宽度为 80 个字符? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 严重地 在 22 英寸显示
  • 未捕获的引用错误:进程未定义

    我正在使用 node js 创建一个 Web 应用程序 当我运行应用程序时 通过在浏览器上打开 index html 或在终端上使用命令 npm start 我收到两个错误 未捕获的引用错误 进程未定义 未捕获的引用错误 未定义要求 我通过
  • Edittext 字体不显示

    我正在经历一个奇怪的问题 我创造了自定义编辑文本类用于设置Typeface对于整个应用程序 它几乎在所有情况下都能成功运行 我在用circo ttf 问题是当我设置android inputType textPassword 文本在键入后停
  • 将图像添加到资源的不同方式

    您好 我发现了两种将图像添加到资源的方法 首先是 例如 我创建文件夹图像并向该文件夹添加一些图像 在资源上设置图像构建操作 像这里的东西 http www codewrecks com blog index php 2010 07 23 b
  • 活动编辑器的 pydev 控制台路径

    我想用 pydev 在 python 中编写一些脚本 我遇到的问题是我无法在脚本所在的项目目录中启动控制台 控制台在 pydev aptana 文件夹 aptana 文件夹中的某个位置 中启动 我可以通过将以下代码添加到我的脚本中来解决这些
  • 如何确定给定命名空间中的所有对象是否都是可序列化的?

    一些背景知识 我们要求所有 DTO 对象都是可序列化的 以便它们可以存储在会话中或缓存 正如您可以想象的那样 这非常烦人并且容易出错 是否有任何使用 Visual Studio 2010 的自动化方法 理想情况下作为构建过程的一部分 来确保