c# - 我应该接受同一个对象作为参数并返回它还是只接受它作为参数?

标签 c# .net

我有以下界面:

public IStateMachineConfigurator
{
  ??? Configure(StateMachine machine);
}

在实现中,我调用了一些 StateMachine 方法来配置它,如下所示:

machine.Configure(States.State1)
       .Allow(Triggers.Trigger1);

问题是,我可以依赖 StateMachine 对象是一个引用这一事实,还是应该使用返回值或返回参数,如 ref/out?

编辑:
状态机本身来自一个库,因此我无法决定它的实现。

最佳答案

如果您想使用构建器模式,那么您可以有效地返回传入的可变状态。如果您想走那条路,这完全没问题。这就是 StringBuilder 类的操作方式,并且在 jQuery 上有所不同。它非常适合以紧凑且可读的方式构建对象。但是,这些对象应该这样指定。 Builder objects 最好不要承担超过必要的责任。

关于c# - 我应该接受同一个对象作为参数并返回它还是只接受它作为参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192031/

相关文章:

c# - 如何在 C# 中比较两个列表框的项目名称?

c# - 将 LINQ 查询转换为字符串,发送到远程服务器以使用 Roslyn 解析为表达式?

c# - 使用 Windsor CaSTLe 从目录中检索 DLL

c# - 在 CsvHelper 中获取记录的长度

c# - 使用 Dapper.NET 异步 API 时如何遵守 CommandTimeout

.net - 在 C# 中使用 native DLL

c# - 如何在 C# 中从选定的 XML 节点获取所有属性名称

c# - 用十六进制代码更改表单的背景颜色

.net - 这个声明是什么意思?

c# - HttpClient 的 SendAsync 非常慢(不是代理问题)