private static Delegate GetterDelegate(ModelArgument a) { var delegateType = typeof(Func <>).MakeGenericType(a.PropertyType); var getMethod = a.PropertyInfo.GetGetMethod(true); var getter = getMethod.CreateDelegate(delegateType, a.Model); return(getter); }
private static Delegate SetterDelegate(ModelArgument a) { var delegateType = typeof(Action <>).MakeGenericType(a.PropertyType); var setMethod = a.PropertyInfo.GetSetMethod(true); var setter = setMethod.CreateDelegate(delegateType, a.Model); return(setter); }