/*
* Created by SharpDevelop.
* User: My little flower basket
* Date: 2013/7/12
* Time: 9:37
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System; namespace Task2
{
class MyCopyableClass
{
protected int myInt; public int ContainedInt
{
get
{
return myInt;
}
set
{
myInt = value;
}
} public MyCopyableClass GetCopy()
{
return (MyCopyableClass)MemberwiseClone();//如果这个类中有引用将会被改变,这是一个浅表复制 。所谓深度复制 ,就是当遇到引用时不是复制一个指针而是建立一个全新的对象
}
} class Program
{
public static void Main(string[] args)
{
MyCopyableClass obj1 = new MyCopyableClass();
obj1.ContainedInt = 5; MyCopyableClass obj2 = obj1.GetCopy();
obj1.ContainedInt = 9; Console.WriteLine(obj2.ContainedInt); Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
//
}
}
}