Beispiel #1
0
 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;
 }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }