public Property(object owner, string key, IPropertyBindingStrategy bindingStrategy = null, Func <PropertyType> getter = null, Action <object, PropertyType> setter = null) { Owner = owner; Key = key; Getter = getter; Setter = setter; BindingStrategy = bindingStrategy; }
public static Property <TPropertyType> GetProperty <T, TPropertyType>( this T owner, Expression <Func <T, TPropertyType> > key, IPropertyBindingStrategy bindingStrategy = null, Func <T, TPropertyType> getter = null, Action <T, TPropertyType> setter = null) { var propertyName = PropertySupport.ExtractPropertyName(key); return(owner.GetProperty(propertyName, bindingStrategy, getter, setter)); }
public static Property <TPropertyType> GetProperty <T, TPropertyType>( this T owner, string propertyName, IPropertyBindingStrategy bindingStrategy = null, Func <T, TPropertyType> getter = null, Action <T, TPropertyType> setter = null) { Action <object, TPropertyType> mySetter = null; if (setter != null) { mySetter = (o, v) => setter((T)o, v); } Func <object, TPropertyType> myGetter = null; if (getter != null) { myGetter = o => getter((T)o); } return(new Property <TPropertyType>(owner, propertyName, bindingStrategy, myGetter, mySetter)); }
public static Property <PropertyType> GetProperty <T, PropertyType>(this T owner, Expression <Func <T, PropertyType> > key, IPropertyBindingStrategy bindingStrategy = null, Func <PropertyType> getter = null, Action <T, PropertyType> setter = null) { Action <object, PropertyType> mySetter = null; if (setter != null) { mySetter = (o, v) => setter((T)o, v); } return(new Property <PropertyType>(owner, PropertySupport.ExtractPropertyName(key), bindingStrategy, getter, mySetter)); }