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); }