private Expression <Func <BinaryReader, IData> > CreateReadMethod() { var reader = Expression.Parameter(typeof(BinaryReader), "reader"); var dataType = typeof(Data <>).MakeGenericType(Type); return(Expression.Lambda <Func <BinaryReader, IData> >( Expression.Label(Expression.Label(dataType), Expression.New(dataType.GetConstructor(new Type[] { Type }), PersistHelper.CreateReadBody(reader, Type, MembersOrder, false))), reader )); }
public Expression <Func <BinaryReader, T> > CreateReadMethod() { var reader = Expression.Parameter(typeof(BinaryReader), "reader"); return(Expression.Lambda <Func <BinaryReader, T> >(PersistHelper.CreateReadBody(reader, Type, MembersOrder, AllowNull), reader)); }