Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static TModel Bind<TModel, TProperty>(this TModel model, Expression<Func<TModel, TProperty>> expression,
- object value)
- {
- var memberExpression = expression.Body as MemberExpression;
- if (memberExpression == null)
- {
- memberExpression = ((UnaryExpression) expression.Body).Operand as MemberExpression;
- }
- var propertyName = memberExpression.Member.Name.ToLowerInvariant();
- var modelType = model.GetType();
- var field = modelType.GetFields(BindingFlags.Instance | BindingFlags.NonPublic)
- .SingleOrDefault(x => x.Name.ToLowerInvariant().StartsWith($"<{propertyName}>"));
- if (field == null)
- {
- return model;
- }
- field.SetValue(model, value);
- return model;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement