/// <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); }
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); } }
public static void Raise(this WeakEvent <EventHandler> weakEvent, object sender, EventArgs e) { EventHandler d = weakEvent.GetRaiseDelegate(); if (d != null) { d(sender, e); } }