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,而且我没见过别人这样做过。
public static Chain NewChain()
吗? - juharr