Ejemplo n.º 1
0
        public void CallOverloadedPrivateInstanceMethod_by_Dynamic()
        {
            object obj = new TestTargetClass();

            var actual1 = (string)obj.ToDynamic().MethodC("King");
            actual1.Is("Method-C by string: King");

            var actual2 = (int)obj.ToDynamic().MethodC(29);
            actual2.Is(29);
        }
Ejemplo n.º 2
0
        public void GetAndSetPrivateInstanceField_by_Dynamic()
        {
            object obj = new TestTargetClass();
            var actual1 = (DateTime)obj.ToDynamic()._FieldB;
            actual1.Is(DateTime.Parse("2014/02/13 14:27:56"));

            obj.ToDynamic()._FieldB = DateTime.Parse("2016/12/10 03:07:04");

            var actual2 = (DateTime)obj.ToDynamic()._FieldB;
            actual2.Is(DateTime.Parse("2016/12/10 03:07:04"));
        }
Ejemplo n.º 3
0
        public void CallOverloadedPrivateInstanceMethod_by_LateBinder()
        {
            object obj = new TestTargetClass();

            obj.ToLateBind().Call("MethodC", "Adelie")
                .IsInstanceOf<string>()
                .Is("Method-C by string: Adelie");

            obj.ToLateBind().Call("MethodC", 27)
                .IsInstanceOf<int>()
                .Is(27);
        }
Ejemplo n.º 4
0
        public void CallOverloadedPrivateInstanceMethod_by_LateBinder_with_Cache()
        {
            object obj = new TestTargetClass();
            var cache = new Dictionary<Type, IDictionary<string, MemberInfo>>();

            obj.ToLateBind(cache).Call("MethodC", "Adelie")
                .IsInstanceOf<string>()
                .Is("Method-C by string: Adelie");

            obj.ToLateBind(cache).Call("MethodC", 27)
                .IsInstanceOf<int>()
                .Is(27);

            obj.ToLateBind(cache).Call("MethodC", "Emperor")
                .IsInstanceOf<string>()
                .Is("Method-C by string: Emperor");
        }
Ejemplo n.º 5
0
        public void GetAndSetPrivateInstanceProperty_by_Dynamic()
        {
            object obj = new TestTargetClass();
            var actual1 = (string)obj.ToDynamic().PropA;
            actual1.Is("Fizz");

            obj.ToDynamic().PropA = "Dynamic Buzz";

            var actual2 = (string)obj.ToDynamic().PropA;
            actual2.Is("Dynamic Buzz");
        }
Ejemplo n.º 6
0
 public void RetrieveReturnValueOfMethod()
 {
     object obj = new TestTargetClass();
     var retval = obj.ToDynamic().CreateSubItem1() as DynamicBinder;
     retval.Object.ToString().Is("Good Job!");
 }
Ejemplo n.º 7
0
        public void GetAndSetPropOfClassObject_by_Dynamic()
        {
            object obj = new TestTargetClass();
            string name1 = obj.ToDynamic().PropH.Name;
            int value1 = obj.ToDynamic().PropH.Value;
            name1.Is("Alice");
            value1.Is(29);

            obj.ToDynamic().PropH.Name = "Bob";
            obj.ToDynamic().PropH.Value = 37;
            string name2 = obj.ToDynamic().PropH.Name;
            int value2 = obj.ToDynamic().PropH.Value;
            name2.Is("Bob");
            value2.Is(37);

            string name3 = obj.ToDynamic().PropG.Name;
            int value3 = obj.ToDynamic().PropG.Value;
            name3.Is("Sam");
            value3.Is(33);

            obj.ToDynamic().PropG = new TestTargetClass.SubItemClass1("Baby", 0);
            string name4 = obj.ToDynamic().PropG.Name;
            int value4 = obj.ToDynamic().PropG.Value;
            name4.Is("Baby");
            value4.Is(0);
        }
Ejemplo n.º 8
0
        public void GetAndSetPrivateStaticField_by_Dynamic()
        {
            var obj = new TestTargetClass();
            var binder = DynamicBinder.Create(obj.GetType());
            var actual1 = (string)binder._FieldE;
            actual1.Is("Static Foo");

            try
            {
                binder._FieldE = "Static Dynamic Bar";

                var actual2 = (string)binder._FieldE;
                actual2.Is("Static Dynamic Bar");
            }
            finally
            {
                binder._FieldE = "Static Foo";
            }
        }
Ejemplo n.º 9
0
        public void GetAndSetPrivateInstanceField_by_LateBinder()
        {
            object obj = new TestTargetClass();
            obj.ToLateBind().Field["_FieldB"]
                .IsInstanceOf<DateTime>()
                .Is(DateTime.Parse("2014/02/13 14:27:56"));

            obj.ToLateBind().Field["_FieldB"] = DateTime.Parse("2015/11/09 02:06:03");

            obj.ToLateBind().Field["_FieldB"]
                .Is(DateTime.Parse("2015/11/09 02:06:03"));
        }
Ejemplo n.º 10
0
        public void GetAndSetPrivateStaticField_by_LateBinder()
        {
            object obj = new TestTargetClass();
            var binder = LateBinder.Create(obj.GetType());

            binder.Field["_FieldE"]
                .IsInstanceOf<string>()
                .Is("Static Foo");

            try
            {
                binder.Field["_FieldE"] = "Static Bar";

                binder.Field["_FieldE"]
                    .Is("Static Bar");
            }
            finally
            {
                binder.Field["_FieldE"] = "Static Foo";
            }
        }
Ejemplo n.º 11
0
        public void GetAndSetPrivateInstanceProperty_by_LateBinder()
        {
            object obj = new TestTargetClass();
            obj.ToLateBind().Prop["PropA"]
                .IsInstanceOf<string>()
                .Is("Fizz");

            obj.ToLateBind().Prop["PropA"] = "Buzz";

            obj.ToLateBind().Prop["PropA"]
                .Is("Buzz");
        }