c# - 类方法返回 `this`是不好的做法吗?

标签 c# oop return this fluent

public class Chain
{
    public string ChainString;

    public Chain() 
    {
        ChainString = "{}"; 
    }

    public Chain AddLink()
    {
        ChainString += "-{}";
        return this; // is this a bad idea?
    }
}
在上面的示例中,AddLink方法返回this。我想要这样做的原因是为了使实例更具可读性,如下所示。
// more verbose (here, `AddLink` returns void)
Chain myChain = new Chain();
myChain.AddLink();
myChain.AddLink();
myChain.AddLink();
// myChain.ChainString = "{}-{}-{}-{}"
// nicer
Chain myChain = new Chain()
    .AddLink()
    .AddLink()
    .AddLink();
// myChain.ChainString = "{}-{}-{}-{}"
有什么原因我不应该这样做吗?我什么也想不出来,但是感觉有点怪异,而且我还没有看到它在其他地方做过。

最佳答案

否。这是fluent interfaces的常见模式。

关于c# - 类方法返回 `this`是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66018153/

相关文章:

c# - MonoGame - BlendState - 2D SpriteBatch

ios - 如何设置我的 UISlider 和 UISwitch 的初始值?

javascript - 范围 查看对象方法时出现问题

python - python中错误与成功返回值的最佳实践

python - 控制函数中返回变量的数量

c# - 结构图 - 覆盖注册

C# 动态对象运行时类型检查

c# - 如何使用两个命名空间查询 XElement

php - 如果对象存在,如何重用它

java - 关于模块和返回语句的问题