protected virtual void OnPropertyChangedStringCompair <T>(string name, ref Nullable <T> oldValue, Nullable <T> newValue) where T : struct { if (oldValue.HasValue != newValue.HasValue || oldValue.ParseToString() != newValue.ParseToString()) { if (oldValue != null) { this.AddChangs(name, oldValue, newValue); } oldValue = newValue; this.HasModelChanged = true; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); } }