摘要:怪問題怪解法-簡單才是王道
前一篇提供的方法較為複雜且不易懂,操作也較為繁瑣,此處提供更易讀更好維護的版本。
static void Main(string[] args)
{
var c = new Chain();
Console.WriteLine(c.A.AA.AAA.B.BB.BBB);//我去醫院探病你去學校讀書
Console.WriteLine(c.A.AA.AAA); //我去醫院探病
Console.WriteLine(c.B.BB.BBB); //你去學校讀書
Console.WriteLine(c.C.CC.CCC); //他去商店購物
Console.WriteLine(c.A.AAA); //我探病
Console.WriteLine(c.B.BBB); //你讀書
Console.WriteLine(c.C.CCC); //他購物
Console.ReadLine();
}
class Chain
{
private StringBuilder _sb;
public Chain()
{
_sb = new StringBuilder();
}
private Chain Add(string value)
{
_sb.Append(value);
return this;
}
public Chain A { get { return Add("我"); } }
public Chain B { get { return Add("你"); } }
public Chain C { get { return Add("他"); } }
public Chain AA { get { return Add("去醫院"); } }
public Chain BB { get { return Add("去學校"); } }
public Chain CC { get { return Add("去商店"); } }
public Chain AAA { get { return Add("探病"); } }
public Chain BBB { get { return Add("讀書"); } }
public Chain CCC { get { return Add("購物"); } }
public override string ToString()
{
var s = _sb.ToString();
_sb = new StringBuilder();
return s;
}
}