public void GenerateType_Interface_ConfigInfo()
        {
            ProxyGenerator proxy = new ProxyGenerator("XLY.Framework.UnitTest", "XLY.Framework.UnitTest.ConfigInfo");

            proxy.InheritInterface <IA>();
            proxy.InheritInterface <IB>();
            proxy.AppendProperty("Name", typeof(string));
            proxy.AppendProperty("Summary", typeof(string));
            var type = proxy.GenerateType();
            var obj  = Activator.CreateInstance(type);
            var a    = obj as IA;

            Assert.IsNotNull(a);

            var b = obj as IB;

            Assert.IsNotNull(b);

            a.Name = "123;";
            System.Utility.Helper.Reflection.SettingObjectValue(obj, "Name", "xiaoming");
            Assert.IsTrue(a.Name == "xiaoming");

            System.Utility.Helper.Reflection.SettingObjectValue(obj, "Summary", "ok123");
            dynamic dobj = obj;

            Assert.IsTrue(dobj.Summary == "ok123");
        }
        public void GenerateType_Interface()
        {
            ProxyGenerator proxy = new ProxyGenerator("XLY.Framework.UnitTest", "XLY.Framework.UnitTest.ConfigInfo");

            proxy.InheritInterface <IA>();
            var type = proxy.GenerateType();
            IA  obj  = Activator.CreateInstance(type) as IA;

            Assert.IsNotNull(obj);

            obj.Name = "xiaoming";
            var vname = System.Utility.Helper.Reflection.GetObjectValue(obj, "Name");

            Assert.IsTrue(vname == "xiaoming");

            obj.Birthdy = DateTime.Now;
            obj.Died    = new DateTime(1986, 11, 15);
            Assert.IsTrue(obj.Died == new DateTime(1986, 11, 15));

            //---console
            Console.WriteLine("Name:" + obj.Name);
            Console.WriteLine("Code:" + obj.Code);
            Console.WriteLine("Age:" + obj.Age);
            Console.WriteLine("Birthdy:" + TypeExtension.ToDateTimeString(obj.Birthdy));
            Console.WriteLine("Died:" + TypeExtension.ToDateTimeString(obj.Died));
        }
        public void GenerateType_Interface_Set()
        {
            ProxyGenerator proxy = new ProxyGenerator("Test", "TestClass");

            proxy.InheritInterface <IGS>();
            var     type = proxy.GenerateType();
            var     obj  = type.CreateInstance() as IGS;
            dynamic dobj = obj;

            dobj.Birthday = DateTime.Now;
            Console.WriteLine("dobj.Birthday:" + TypeExtension.ToDateTimeString(dobj.Birthday));
            dobj.Age = 122;
            Console.WriteLine(dobj.Age);
        }
        public void GenerateType_Interfaces()
        {
            ProxyGenerator proxy = new ProxyGenerator("XLY.Framework.UnitTest", "XLY.Framework.UnitTest.ConfigInfo");

            proxy.InheritInterface <IA>();
            proxy.InheritInterface <IB>();
            var type = proxy.GenerateType();
            var obj  = Activator.CreateInstance(type);
            var a    = obj as IA;

            Assert.IsNotNull(a);

            var b = obj as IB;

            Assert.IsNotNull(b);

            a.Name = "xiaosan";
            Assert.IsTrue(a.Name == b.Name);

            b.Size = 1984343;
            Console.WriteLine("a.Name:" + a.Name);
            Console.WriteLine("b.Name:" + b.Name);
            Console.WriteLine("b.Size:" + b.Size);
        }
        public void GenerateType_Interface_Get()
        {
            ProxyGenerator proxy = new ProxyGenerator("Test", "TestClass");

            proxy.InheritInterface <IGS>();
            var type = proxy.GenerateType();
            var obj  = type.CreateInstance() as IGS;

            Assert.IsNotNull(obj);
            Assert.IsNull(obj.Name);
            obj.Birthday = DateTime.Now;
            Console.WriteLine("dobj.Birthday:" + TypeExtension.ToDateTimeString(obj.Birthday));
            dynamic dobj = obj;

            dobj.Name = "123;";
        }