public Expression <Func <IData, object[]> > CreateToMethod() { var data = Expression.Parameter(typeof(IData), "data"); var d = Expression.Variable(typeof(Data <>).MakeGenericType(Type), "d"); var body = Expression.Block(new ParameterExpression[] { d }, Expression.Assign(d, Expression.Convert(data, d.Type)), ValueToObjectsHelper.ToObjects(d.Value(), MembersOrder)); return(Expression.Lambda <Func <IData, object[]> >(body, data)); }
public Expression <Func <T, object[]> > CreateToMethod() { var item = Expression.Parameter(Type); return(Expression.Lambda <Func <T, object[]> >(ValueToObjectsHelper.ToObjects(item, MembersOrder), item)); }