コード例 #1
0
        public void Traverse2_InnerInstance()
        {
            var instance = new Traverse2NestedTypes(null);

            var trv1   = Traverse2.Create(instance);
            var field1 = trv1.Field("innerInstance").Field("inner2").Field("field");

            _ = field1.SetValue("somevalue");

            var trv2   = Traverse2.Create(instance);
            var field2 = trv2.Field("innerInstance").Field("inner2").Field("field");

            Assert.AreEqual("somevalue", field2.GetValue());
        }
コード例 #2
0
        public void Traverse2_InnerStatic()
        {
            var trv1   = Traverse2.Create(typeof(Traverse2NestedTypes));
            var field1 = trv1.Field("innerStatic").Field("inner2").Field("field");

            _ = field1.SetValue("somevalue1");

            var trv2   = Traverse2.Create(typeof(Traverse2NestedTypes));
            var field2 = trv2.Field("innerStatic").Field("inner2").Field("field");

            Assert.AreEqual("somevalue1", field2.GetValue());

            _ = new Traverse2NestedTypes("somevalue2");
            var value = Traverse2
                        .Create(typeof(Traverse2NestedTypes))
                        .Type("InnerStaticClass1")
                        .Type("InnerStaticClass2")
                        .Field("field")
                        .GetValue <string>();

            Assert.AreEqual("somevalue2", value);
        }