protected bool SetValue <T>(ref T storage, T newValue, [CallerMemberName] string property = null) { if (newValue?.Equals(storage) ?? storage == null) { return(false); } NotificationChange?.Invoke(this.Id, GetAttributeNamespace(property), ChangeType.Update, storage, newValue); storage = newValue; return(true); }