Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //http://stackoverflow.com/questions/78536/deep-cloning-objects-in-c-sharp/78551#comment11411812_78577
- class CloningTest
- {
- public static void PerformTests()
- {
- Type1 t = new Type1();
- t.x = 1; t.y = 11; t.c = new Type2();
- t.c.x = 2; t.c.z = 222; t.c.q = new Type3();
- t.c.q.x = 3; t.c.q.w = 3333;
- Type1 k = new Type1(t);
- k.x = 9; k.c.z = 666;
- System.Console.WriteLine(t.x + " ; " + t.c.z);
- }
- abstract class AbstractBaseType
- {
- public int x;
- public abstract void DummyMethod();
- public AbstractBaseType() { }
- public AbstractBaseType(AbstractBaseType src) { x = src.x; }
- }
- class Type1 : AbstractBaseType
- {
- public int y; public Type2 c;
- public override void DummyMethod() { }
- public Type1() { x = 0; }
- public Type1(Type1 src) : base(src) { y = src.y; c = new Type2(src.c); }
- }
- class Type2 : AbstractBaseType
- {
- public int z; public Type3 q;
- public override void DummyMethod() { }
- public Type2() { }
- public Type2(Type2 src) : base(src) { z = src.z; q = new Type3(src.q); }
- }
- class Type3 : AbstractBaseType
- {
- public int w;
- public override void DummyMethod() { }
- public Type3() { }
- public Type3(Type3 src) : base(src) { w = src.w; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement