public PropertyHandler(MethodInfo getMethodInfo, MethodInfo setMethodInfo, object target) { if (getMethodInfo != null) { GetHandler = (GetPropertyValueHandler)getMethodInfo.CreateDelegate(typeof(GetPropertyValueHandler), target); } if (setMethodInfo != null) { SetHandler = (SetPropertyValueHandler)setMethodInfo.CreateDelegate(typeof(SetPropertyValueHandler), target); } }
public static void SetPropertyValue <TResult>(this Control source, Expression <Func <Control, TResult> > selector, TResult value) { if (source.InvokeRequired) { var del = new SetPropertyValueHandler <TResult>(SetPropertyValue); source.Invoke(del, new object[] { source, selector, value }); } else { var propInfo = ((MemberExpression)selector.Body).Member as PropertyInfo; propInfo.SetValue(source, value, null); } }
public PropertyHandler(GetPropertyValueHandler getHandler, SetPropertyValueHandler setHandler) { GetHandler = getHandler; SetHandler = setHandler; }