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

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

            field1.SetValue("somevalue");

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

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

            field1.SetValue("somevalue1");

            var trv2   = Traverse.Create(typeof(TraverseNestedTypes));
            var field2 = trv2.Field("innerStatic").Field("inner2").Field("field");

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

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

            Assert.AreEqual("somevalue2", value);
        }
コード例 #3
0
        public void Traverse_InnerStatic()
        {
            var trv1   = Traverse.Create(typeof(TraverseNestedTypes));
            var field1 = trv1.Field("innerStatic").Field("inner2").Field("field");

            field1.SetValue("somevalue1");

            var trv2   = Traverse.Create(typeof(TraverseNestedTypes));
            var field2 = trv2.Field("innerStatic").Field("inner2").Field("field");

            // Assert.AreEqual("somevalue1", field2.GetValue());
            Warn.If("somevalue1" != (string)field2.GetValue(),
                    "Bug in harmony 1.2.0.1, GetValue returns null instead of field value");

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

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