当前位置: 首页 > 编程语言 > C#

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

时间:2023-04-10 17:46:47 C#

代码分析返回时建议不要使用“out”参数我在对象上运行了VS2008代码分析工具I创建并收到以下建议......警告147CA1021:Microsoft.Design:考虑不需要“returnValue”作为输出参数的设计。我发现“out”参数非常有用,但没有意识到它们被认为是一种不受欢迎的设计实践。我想知道是否有人能理解为什么我会收到此警告?如果这是不好的做法?为什么?什么是好的做法?我感谢任何建议。每个代码分析警告都有关联的文档,您可以通过突出显示警告并按F1来访问这些文档。您也可以右键单击该项目以获得帮助。无论如何,这是解释该特定警告的文档。我想说在某些情况下out参数仍然是一个不错的选择-特别是当涉及到TryParse编码惯用语时,因为它是一种行之有效的做事方式,大多数人应该理解它但是,在一般用法中,存在针对多个返回值的更好、更面向对象的解决方案。我曾经对我的项目运行自己的代码分析。此外,我确实得到了很多有见地的建议,我非常简短地结束了这些建议。很多建议本质上都是宗教性的,你可以用一种或另一种方式来做,这是一种风格问题,而不是糟糕的做法。对于你的情况。如果只有一个返回参数,则从函数中返回它。如果还有占用返回空间的返回码,可以考虑使用异常来通知调用者代码运行错误。如果要返回的参数彼此密切相关,则创建一个类/结构将它们放在一起并作为包返回。在我看来,许多代码分析警告都与编写第三方将使用的API代码有关。带有“out”参数的规则是一个典型案例:不使用它们的部分原因是因为许多其他程序员不知道它们。如果它们与您正在编写的内容不匹配,请关闭不适用于您的代码分析规则。我个人倾向于关闭命名、可移植性和互操作性规则,因为它们与我编写的代码类型无关。在我的大多数项目中,我都关闭了这个特定的警告。因为,我知道,当我使用out参数时,我这样做是有充分理由的,因为我试图完全避免它们。我可以想象,如果你想在项目中与多人合作时进行一些代码审查,你可能希望打开此警告......如果内容对你有用并且你需要了解更多有关C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: