/*ICloneable接口克隆方式学习 及 与静态扩展的比较 */ #region ICloneable接口克隆方式学习 及 与静态扩展的比较 /// <summary> /// 浅克隆测试 /// </summary> static void TestICloneable() { Cup cup = new Cup(); cup.Height = 20; cup.RL = 200; cup.c = new Colors() { foot = "白色", Top = "无色" }; Console.WriteLine("***浅克隆测试***"); Console.WriteLine("cup-Height:" + cup.Height); //20 Console.WriteLine("cup-RL:" + cup.RL); //200 Console.WriteLine("cup-foot:" + cup.c.foot); //白色 Console.WriteLine(""); Cup cup1 = (Cup)cup.Clone(); cup1.Height = 10; cup1.RL = 100; cup1.c.foot = "灰色"; Console.WriteLine("cup1-Height:" + cup1.Height); //10 Console.WriteLine("cup1-RL:" + cup1.RL); //100 Console.WriteLine("cup1-foot:" + cup1.c.foot); Console.WriteLine(""); Console.WriteLine("cup-Height:" + cup.Height); //20 Console.WriteLine("cup-RL:" + cup.RL); //200 Console.WriteLine("cup-foot:" + cup.c.foot); //灰色 值发生改变了 Console.WriteLine(""); }