Esempio n. 1
0
        /// <summary>
        /// Sets the property.
        /// </summary>
        /// <returns><c>true</c>, if property was set, <c>false</c> otherwise.</returns>
        /// <param name="oldValue">Backing store.</param>
        /// <param name="newValue">Value.</param>
        /// <param name="changedBeforeNotifying">On changed.</param>
        /// <param name="propertyName">Property name.</param>
        /// <typeparam name="T">The 1st type parameter.</typeparam>
        protected bool SetValueNotifyProperty <T>(ref T oldValue, T newValue, [CallerMemberName] string propertyName = null)
        {
            if (EqualityComparer <T> .Default.Equals(oldValue, newValue))
            {
                return(false);
            }

            oldValue = newValue;

            _propertyChangedWeakEvent?.GetRaiseDelegate()?.Invoke(this, new PropertyChangedEventArgs(propertyName));
            return(true);
        }
Esempio n. 2
0
        public static void Raise <T>(this WeakEvent <EventHandler <T> > ev, object sender, T e) where T : EventArgs
        {
            EventHandler <T> d = ev.GetRaiseDelegate();

            if (d != null)
            {
                d(sender, e);
            }
        }
Esempio n. 3
0
        public static void Raise(this WeakEvent <EventHandler> weakEvent, object sender, EventArgs e)
        {
            EventHandler d = weakEvent.GetRaiseDelegate();

            if (d != null)
            {
                d(sender, e);
            }
        }