using System;
namespace ConsoleApplication42
{
public class B
{
public int i;
public Object Clone()
{
return this.MemberwiseClone();
}
}
public class A
{
public int age;
public B b;
public A()
{
}
private A( int age, B b )
{
this.age = age;
this.b = b.Clone() as B;
}
public System.Object Clone()
{
//return this.MemberwiseClone();
return new A( this.age, this.b );
}
}
/// <summary>
/// Summary description for Class1.
/// </summary>
public class Class1
{
public Class1()
{
//
// TODO: Add constructor logic here
//
}
public static void Main( string[] args )
{
A a1 = new A();
a1.age = 10;
a1.b = new B();
a1.b.i = 20;
A a2 = new A();
a2 = a1.Clone() as A;
a2.b.i = 30;
Console.WriteLine( a2.age );
Console.WriteLine( a1.b.i );
Console.ReadLine();
}
}
}
运行结果:
10
20