Beispiel #1
0
        public void CtorTest()
        {
            var instance = DynamicFactory.CreateInstance <CtorClass>(1);

            Assert.Equal(1, instance.X);

            instance = DynamicFactory.CreateInstance <CtorClass>(1, 2);
            Assert.Equal(2, instance.Y);

            instance = DynamicFactory.CreateInstance <CtorClass>(1, 2, 3);
            Assert.Equal(3, instance.Z);
        }
Beispiel #2
0
        public void StructTest()
        {
            var box = DynamicFactory.CreateInstance(typeof(MyStruct));

            DynamicInstance di = new DynamicInstance(box);

            di.Set("Field", 6);
            di.Set("Property", "AAA");
            di.Set("ChildStruct", new ChildStruct()
            {
                Field = 12
            });
            var str = (MyStruct)box;

            Assert.Equal(6, str.Field);
            Assert.Equal("AAA", str.Property);
            Assert.Equal(12, str.ChildStruct.Field);

            di = new DynamicInstance(str);
            Assert.Equal(6, di.Get("Field"));
            Assert.Equal("AAA", di.Get("Property"));
            Assert.Equal(12, ((ChildStruct)di.Get("ChildStruct")).Field);
        }