下边是附上我写的例子MemberwiseClone
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyGame;
namespace MyGame
{
class GameObject
{
}
}
namespace ConsoleApp7
{
class Test
{
public int i = 1;
public Test2 t2 = new Test2();
public Test Clone()
{
return MemberwiseClone() as Test;
}
//public override bool Equals(object obj)
//{
//}
}
class Test2
{
public int i = 2;
}
class Program
{
static void Main(string[] args)
{
Test t = new Test();
Type type = t.GetType();
Test t2 = t.Clone();
Console.WriteLine("克隆对象后");
Console.WriteLine("t.i=" + t.i);
Console.WriteLine("t.t2.i=" + t.t2.i);
Console.WriteLine("t2.i=" + t2.i);
Console.WriteLine("t2.t2.i=" + t2.t2.i);
t2.i = 20;
t2.t2.i = 21;
Console.WriteLine("改变克隆体信息后");
Console.WriteLine("t.i=" + t.i);
Console.WriteLine("t.t2.i=" + t.t2.i);
Console.WriteLine("t2.i=" + t2.i);
Console.WriteLine("t2.t2.i=" + t2.t2.i);
}
}
}