public void Get_Int32() { var obj = new AllPrimitive { }; IGetAccessorFactory getAccessorFactory = EmitGetAccessorFactory.Instance; getAccessorFactory.TryCreate(typeof(AllPrimitive), nameof(AllPrimitive.Int32), out var get_Id); var id = get_Id(obj); Assert.Equal(id, obj.Int32); }
public void Get_String() { var obj = new AllPrimitive { String = "SmartSql" }; IGetAccessorFactory getAccessorFactory = EmitGetAccessorFactory.Instance; getAccessorFactory.TryCreate(typeof(AllPrimitive), nameof(AllPrimitive.String), out var get_String); var str = get_String(obj); Assert.Equal(str, obj.String); }
public void Get_Nest1() { var obj = new { User = new { Id = 1 } }; IGetAccessorFactory getAccessorFactory = EmitGetAccessorFactory.Instance; getAccessorFactory.TryCreate(obj.GetType(), "User.Id", out var getMethodImpl); var id = getMethodImpl(obj); Assert.Equal(id, obj.User.Id); }
public void Get_List_Index() { var obj = new { User = new { Items = new List <String> { "SmartSql" } } }; IGetAccessorFactory getAccessorFactory = EmitGetAccessorFactory.Instance; getAccessorFactory.TryCreate(obj.GetType(), "User.Items[0]", out var getMethodImpl); var id = getMethodImpl(obj); Assert.Equal(obj.User.Items[0], id); }
public void Get_Dictionary_Index() { var obj = new { User = new { Items = new Dictionary <int, int> { { 1, 1 } } } }; IGetAccessorFactory getAccessorFactory = EmitGetAccessorFactory.Instance; getAccessorFactory.TryCreate(obj.GetType(), "User.Items[1]", out var getMethodImpl); var id = getMethodImpl(obj); Assert.Equal(obj.User.Items[1], id); }