using System;
public class ObjClass
{
public int val;
}
public struct ObjStruct
{
public int val;
}
public class Container
{
public Container()
{
objClass=new ObjClass();
}
public ObjClass objClass;
public ObjStruct objStruct;
}
public class Test
{
public static void Main()
{
Container containerA = new Container();
containerA.objClass.val = 3;
containerA.objStruct.val = 3;
ObjClass objClassB = new ObjClass();
objClassB.val = 5;
ObjStruct objStructC;
objStructC.val = 5;
Console.WriteLine("Step 1");
Console.WriteLine("containerA.objClass.val = " + containerA.objClass.val);
Console.WriteLine("containerA.objStruct.val = " + containerA.objStruct.val);
Console.WriteLine("objClassB.val = " + objClassB.val);
Console.WriteLine("objStructC.val = " + objStructC.val);
Console.WriteLine("");
containerA.objClass = objClassB;
containerA.objStruct = objStructC;
Console.WriteLine("Step 2");
Console.WriteLine("containerA.objClass.val = " + containerA.objClass.val);
Console.WriteLine("containerA.objStruct.val = " + containerA.objStruct.val);
Console.WriteLine("objClassB.val = " + objClassB.val);
Console.WriteLine("objStructC.val = " + objStructC.val);
Console.WriteLine("");
objClassB.val = 7;
objStructC.val = 7;
Console.WriteLine("Step 3");
Console.WriteLine("containerA.objClass.val = " + containerA.objClass.val);
Console.WriteLine("containerA.objStruct.val = " + containerA.objStruct.val);
Console.WriteLine("objClassB.val = " + objClassB.val);
Console.WriteLine("objStructC.val = " + objStructC.val);
Console.WriteLine("");
}
}