代码分析返回并建议不使用“out”参数

2023-12-25

我针对我创建的对象运行 VS 2008 代码分析工具并收到以下建议......

警告 147 CA1021:Microsoft.Design :考虑一种不 要求 'returnValue' 为 out 范围。

我发现“out”参数相当有用,但没有意识到它们被认为是不受欢迎的设计实践。我想知道是否有人可以解释我收到此警告的原因?如果这是不好的做法?为什么?什么是好的做法?

我很感激任何建议。


每个代码分析警告都有关联的文档,您可以通过突出显示警告并按F1。您还可以右键单击该项目来获取帮助。

无论如何,这是解释该特定警告的文档 http://msdn.microsoft.com/en-us/library/ms182131.aspx.

我想说,在某些情况下,out 参数仍然是一个不错的选择 - 特别是当涉及到 TryParse 编码习惯时,因为它是一种行之有效的做事方式,大多数人都应该理解它

然而,在一般使用中,对于多个返回值有更好、更面向对象的解决方案。

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

代码分析返回并建议不使用“out”参数 的相关文章

  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • Tensorflow 中的自定义资源

    由于某些原因 我需要为 Tensorflow 实现自定义资源 我试图从查找表实现中获得灵感 如果我理解得好的话 我需要实现3个TF操作 创建我的资源 资源的初始化 例如 在查找表的情况下填充哈希表 执行查找 查找 查询步骤 为了促进实施 我
  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • std::bind 重载解析

    下面的代码工作正常 include
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • 通过等待任务或访问其 Exception 属性都没有观察到任务的异常

    这些是我的任务 我应该如何修改它们以防止出现此错误 我检查了其他类似的线程 但我正在使用等待并继续 那么这个错误是怎么发生的呢 通过等待任务或访问其 Exception 属性都没有观察到任务的异常 结果 未观察到的异常被终结器线程重新抛出
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu

随机推荐

  • 无法使用 AngularJS 显式“app.controller”语法注入“$http”?

    I have 被告知 https stackoverflow com a 16660618我应该使用app controller语法 以支持缩小 重写示例 教程 示例 我发现我无法让它工作 use strict Minifiable sol
  • 使用 Paperclip gem 验证上传的附件内容

    Paperclip 具有用于验证文件的存在 大小和内容类型的验证器方法 但有没有办法验证contents保存记录之前的文件 我尝试做validate my method并从以下位置打开文件 attachment path in my met
  • StringBuilder和容量?

    我已经创建了测试应用程序来测试 StringBuilder 是否将数据复制到另一个实例并在其长度超过当前容量时增加其缓冲区并在 ildasm exe 中进行验证 但它看起来相同 如何验证 StringBuilder 将其数据复制到新实例中并
  • 在 ggplotly 中使用 alpha 和手动颜色

    我在设置手动颜色时遇到困难ggplotly library ggplot2 library plotly set seed 1 data frame x 1 10 y rnorm 10 gt ggplot aes x y fill fact
  • Haskell 递归问题,微型解析器。一些东西

    data Expr Var Char Tall Int Sum Expr Expr Mult Expr Expr Neg Expr Let Expr Expr Expr deriving Eq Show 这是数据类型Expr 我有几个问题
  • jquery datepicker 使用两个日期选择器的最大日期最小日期控制

    我所拥有的 我在jquery中有两个日期选择器日历控件 其中第一个只能选择当前日期和上一个日期 但不能选择未来日期 因为我已经编写了运行良好的代码 现在我必须使用另一个带有日期选择器的文本框 它只能选择第一个文本框中选择的日期和当前日期之间
  • 在 ASP.NET MVC 中管理 ADO.NET 实体框架 ObjectContext

    我在 MVC 应用程序中使用 ADO NET EF 我正在考虑将 ObjectContext 放入 HttpContext Current 中 以便同一请求中的所有逻辑都可以访问它 而不必每次都打开 销毁 但是 我真的确定这是否是管理 Ob
  • C 中止陷阱 6 错误

    我有这个代码 void drawInitialNim int num1 int num2 int num3 int board 2 50 make an array with 3 columns int i i j k are loop c
  • 更新 Mapview Xcode 中的位置

    在我当前的项目中 我每次都需要用户的位置50 meter用户移动 所以基本上每次打开申请后50 meter更改我需要用户位置来调用 Web 服务Objective c 我还希望当应用程序处于后台状态时运行相同的进程 提前致谢 您必须在应用程
  • 快速从函数返回多个值

    如何从 swift 中的函数返回 3 个相同类型 Int 的单独数据值 我正在尝试返回一天中的时间 我需要将小时 分钟和秒作为单独的整数返回 但所有这些都来自同一个函数 这可能吗 我想我只是不理解返回多个值的语法 这是我正在使用的代码 我在
  • MySQL OUTER JOIN 语法错误

    也许对你们来说是一个捂脸 但作为一个 SQL 查询新手 我遇到了语法问题 有谁知道出了什么问题吗 SELECT FROM company C OUTER JOIN company address A ON C company id A co
  • 如何在不安装 CPAN 模块的情况下安装它?

    这是我之前问题的后续关于开发 Perl 应用程序 https stackoverflow com questions 1679835 假设我使用 CPAN 模块开发了一个应用程序Module Install 现在我将代码上传到生产服务器 例
  • 自定义包编译选项 R

    我正在构建一个包含旧的包f77绝对应该使用以下代码构建o0优化选项 In the src Makevars在我的包中我添加了这一行 FFLAGS O0 pipe g LTO 但是当我编译我的包时 我看到 R 仍在使用 默认编译选项来自 us
  • SVG上的JS——获取元素的innerHTML

    我想从 SVG 文件中提取一些数据 我知道SVG是XML 所以我想用JS把数据导出来会很容易 所以 我想从 SVG 中提取一堆文本 所以 我启动了 chrome 的 JS 控制台 并尝试做一些事情 我需要得到所有tspan数组中的元素 提取
  • Aurelia js文件上传到服务器

    您好 我是 aurelia js 新手 我需要将文件上传到服务器 我使用 autrelia js materializecss 和 httpClient fetch 进行 api 调用 我不知道如何将文件发送到服务器 view
  • 如何签署使用 PhoneGap Build 构建的 Android APK?

    PhoneGap Build 似乎是一个很棒的工具 我用它构建了一个 apk 并在多个 Android 设备上进行了测试 现在我需要将其提交到 Google Play 商店 但我需要对 apk 进行签名 我已经在 Google 开发者网站上
  • 使用 pecl 在 OS X El Capitan (v10.11.1) 上安装 Mongodb 驱动程序

    我正在尝试为 OS X 安装 php mongo 驱动程序 我尝试过以下操作这些说明 http jafdip com how to install mongodb and the php mongo drive on mac os x sn
  • c# - 读取 HTML?

    我正在用 C 开发一个程序 我需要一些帮助 我正在尝试创建在某个网站上显示的数组或项目列表 我想做的是阅读锚文本 它是href 例如 这是 HTML div class menu 1 div class items div class mi
  • 演员和幕后工作者

    client Client 127 0 0 1 8786 direct to workers True future1 client submit Counter workers ninja actor True counter1 futu
  • 代码分析返回并建议不使用“out”参数

    我针对我创建的对象运行 VS 2008 代码分析工具并收到以下建议 警告 147 CA1021 Microsoft Design 考虑一种不 要求 returnValue 为 out 范围 我发现 out 参数相当有用 但没有意识到它们被认