예제 #1
0
        public void TestReflectionSetPropertyValueBoxed()
        {
            var testObject = new ReflectionTestObject();

            testObject.SetPropertyValue("PrivateObjectProperty", 123);
            Assert.Equal(123, testObject.GetPropertyValue <object>("PrivateObjectProperty"));
        }
예제 #2
0
        public void TestReflectionFieldGetChildFirst()
        {
            var testObject = new ReflectionTestObject();
            var val        = testObject.GetFieldValue <string>("PrivateValueCollide");

            Assert.Same("SECRET_COLLIDE_CORRECT", val);
        }
예제 #3
0
        public void TestReflectionGetFieldValueBoxed()
        {
            var testObject = new ReflectionTestObject();
            var boxedValue = testObject.GetFieldValue <object>("TestEnum");

            Assert.Equal(TestEnum.Test2, boxedValue);
        }
예제 #4
0
        public void TestReflectionGetPropertyValueBoxed()
        {
            var testObject = new ReflectionTestObject();
            var boxedValue = testObject.GetPropertyValue <object>("PrivateIntProperty");

            Assert.Equal(123, boxedValue);
        }
예제 #5
0
        public void TestReflectionGetEnumField()
        {
            var testObject = new ReflectionTestObject();
            var enumValue  = testObject.GetFieldValue <TestEnum>("TestEnum");

            Assert.Equal(TestEnum.Test2, enumValue);
        }
예제 #6
0
        public void TestReflectionCall()
        {
            var testObject = new ReflectionTestObject();
            var val        = testObject.InvokeMethod <string>("Test", "test", "1");

            Assert.Equal("test1", val);
        }
예제 #7
0
        public void TestReflectionFieldGetAndSet()
        {
            var testObject = new ReflectionTestObject();

            testObject.SetFieldValue("PrivateValue", "test");
            var ret = testObject.GetFieldValue <string>("PrivateValue");

            Assert.Same("test", ret);
        }
예제 #8
0
        public void TestReflectionCallVoid()
        {
            var testObject = new ReflectionTestObject();

            testObject.InvokeMethod("Test2", "testValue");

            var val = testObject.GetFieldValue <string>("PrivateValue1");

            Assert.Same("testValue", val);
        }
예제 #9
0
        public void TestReflectionPropertyGetAndSet()
        {
            var testObject = new ReflectionTestObject();
            var val        = testObject.GetPropertyValue <string>("PrivateProperty");

            Assert.Same("Get off my lawn", val);

            testObject.SetPropertyValue("PrivateProperty", "testProp");
            var val2 = testObject.GetPropertyValue <string>("PrivateProperty");

            Assert.Same("testProp", val2);
        }
예제 #10
0
        public void TestReflectionSetFieldValueBoxed()
        {
            var testObject = new ReflectionTestObject();

            testObject.SetFieldValue("PrivateValue2", 123);
            Assert.Equal(123, testObject.GetFieldValue <object>("PrivateValue2"));

            var testStruct = new MyTestStruct(123);

            testStruct.SetStructFieldValue("privateObjectField", 456);
            Assert.Equal(456, testStruct.GetFieldValue <object>("privateObjectField"));
        }