/*
* 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);
//
}
}
}