public void SetValueByPath_Test() { var o1 = new ReflectionUtilClass2() { Id = "1000", UserName = "******", Age = 18, Class1 = new ReflectionUtilClass1() { UserName = "******" } }; Assert.Equal("1000", o1.Id); Assert.Equal("zhangsan", o1.UserName); Assert.Equal(18, o1.Age); ReflectionUtil.SetValueByPath(o1, typeof(ReflectionUtilClass2), "Id", "3"); Assert.Equal("3", o1.Id); ReflectionUtil.SetValueByPath(o1, typeof(ReflectionUtilClass2), "DotCommon.Test.Reflecting.ReflectionUtilClass2.UserName", "lisi"); Assert.Equal("lisi", o1.UserName); ReflectionUtil.SetValueByPath(o1, typeof(ReflectionUtilClass2), "Class1.UserName", "123"); Assert.Equal("123", o1.Class1.UserName); }
public void GetValueByPath_Test() { var o1 = new ReflectionUtilClass2() { Id = "1000", UserName = "******", Age = 18 }; var v1 = ReflectionUtil.GetValueByPath(o1, typeof(ReflectionUtilClass2), "Age"); Assert.Equal(18, Convert.ToInt32(v1)); var v2 = ReflectionUtil.GetValueByPath(o1, typeof(ReflectionUtilClass2), "DotCommon.Test.Reflecting.ReflectionUtilClass2.Age"); Assert.Equal(18, Convert.ToInt32(v2)); var v3 = ReflectionUtil.GetValueByPath(o1, typeof(ReflectionUtilClass2), "Id"); Assert.Equal("1000", v3.ToString()); }
public void GetPropertyByPath_Test() { var o1 = new ReflectionUtilClass2() { Id = "1000", UserName = "******", Age = 18 }; var p1 = ReflectionUtil.GetPropertyByPath(o1, typeof(ReflectionUtilClass2), "Id"); Assert.Equal(typeof(ReflectionUtilClass2).GetProperty("Id"), p1); var p2 = ReflectionUtil.GetPropertyByPath(o1, typeof(ReflectionUtilClass2), "DotCommon.Test.Reflecting.ReflectionUtilClass2.Id"); Assert.Equal(typeof(ReflectionUtilClass2).GetProperty("Id"), p2); var p3 = ReflectionUtil.GetPropertyByPath(o1, typeof(ReflectionUtilClass2), "UserName"); Assert.Equal(typeof(ReflectionUtilClass2).GetProperty("UserName"), p3); var p4 = ReflectionUtil.GetPropertyByPath(o1, typeof(ReflectionUtilClass2), "Age"); Assert.Equal(typeof(ReflectionUtilClass2).GetProperty("Age"), p4); }