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

c#

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 = "{}-{}-{}-{}"

有什么理由我不应该这样做吗?我想不出任何,但感觉有点hacky,我还没有看到它在其他地方完成。

回答

不。这是流畅接口的常见模式。


以上是类方法返回`this`是不好的做法吗?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>