Example #1
0
        public static void TestComplexClone()
        {
            TestClass testModel = new TestClass();

            testModel.Name = "X";
            testModel.Age  = 10;

            TestStruct nestingStruct = new TestStruct();

            nestingStruct.Age  = 101;
            nestingStruct.Name = "CX";

            TestInterfaceModel interfaceModel = new TestInterfaceModel();

            interfaceModel.Shut = true;

            testModel.PInterface    = interfaceModel;
            testModel.FieldNext     = nestingStruct;
            testModel.PropertyNext1 = nestingStruct;

            Delegate ShowDelegate = EHandler.CreateMethod <TestClass>((il) =>
            {
                EMethod method    = typeof(Console);
                EModel classModel = EModel.CreateModelFromObject(testModel);
                classModel.ALoad("PrivatePName").GetAttributeModel("Attribute1").LoadValue("Name");
                method.ExecuteMethod <string>("WriteLine");
                classModel.Load();
            }).Compile();
            TestClass Result = ((Func <TestClass>)ShowDelegate)();

            Console.WriteLine(Result.Name);
            Console.WriteLine(Result.FieldNext.Name);
            Console.WriteLine(Result.FieldNext.Age);
            Console.WriteLine(Result.PropertyNext1.Name);
            Console.WriteLine(Result.PropertyNext1.Age);
            Console.WriteLine(Result.PInterface.Shut);
        }