public FieldSettings(Expression <Func <T, TMember> > expression) { var memberExpression = GetMemberExpression(expression); PropertyInfo = (PropertyInfo)memberExpression.Member; GetHandler = DynamicMethodCompiler.CreateGetHandler <T>(PropertyInfo); SetHandler = DynamicMethodCompiler.CreateSetHandler <T>(PropertyInfo); }
public FieldSettings(Expression <Func <T, object> > expression) { var memberExpression = GetMemberExpression(expression); PropertyInfo = (PropertyInfo)memberExpression.Member; ConvertToType = PropertyInfo.PropertyType; if (PropertyInfo.PropertyType.IsGenericType && PropertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(Nullable <>)) { ConvertToType = Nullable.GetUnderlyingType(PropertyInfo.PropertyType); } GetHandler = DynamicMethodCompiler.CreateGetHandler <T>(PropertyInfo); SetHandler = DynamicMethodCompiler.CreateSetHandler <T>(PropertyInfo); }
protected Layout() { this.InnerFields = new List <FieldSettings <T> >(); this.ItemCreateInstanceHandler = DynamicMethodCompiler.CreateInstantiateObjectHandler <T>(); }