gpt4 book ai didi

c# - 如何从一个方法输出多个值,并仍然遵循正确的设计原则?

转载 作者:行者123 更新时间:2023-11-30 13:46:01 26 4
gpt4 key购买 nike

假设我有一个方法需要两个以上的输出值。

我的选择如下(也许还有更多我没有考虑过的选择)

  • 返回值以及多个 out/ref 参数
  • 创建一个类来保存我想要的每个输出值,我的方法将返回它
  • 构造一个包含我想要的所有输出值的 XML 字符串并返回它

我问是因为我记得在某处读到使用 out 和 ref 参数不好。但我不确定还能怎么做。

哪种方式最符合设计原则,也更适合单元测试?还有其他我没有列出的可以接受的选项吗?

编辑:除了主值之外我正在考虑返回的额外输出值,与过程的成功失败条件以及失败条件的名称等有关。因此主要用于跟踪和测试的过程。

最佳答案

我会这样排列你的选项:

  1. 创建一个类来保存我想要的每个输出值,我的方法将返回它
  2. 返回值以及多个 out/ref 参数
  3. 构造一个包含我想要的所有输出值的 XML 字符串

但是,所有这些都代表了一种“代码味道”,即您的方法做得太多了。至少返回一个类表明该方法提供了几个已知的相关值。使用 out/ref 更像是一种解决方法(有时它们是有效的,有时它们不是)以避免创建类,并且 XML 不是一个好的选择,因为您强制消费者了解架构以提取值。

关于c# - 如何从一个方法输出多个值,并仍然遵循正确的设计原则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23919959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com