浏览代码

Added SetProperty<T> to NotifyableObject

CPKreuz 4 年之前
父节点
当前提交
8919feff06
共有 1 个文件被更改,包括 15 次插入0 次删除
  1. 15 0
      PixiEditor/NotifyableObject.cs

+ 15 - 0
PixiEditor/NotifyableObject.cs

@@ -1,5 +1,7 @@
 using System;
 using System;
+using System.Collections.Generic;
 using System.ComponentModel;
 using System.ComponentModel;
+using System.Runtime.CompilerServices;
 
 
 namespace PixiEditor.Helpers
 namespace PixiEditor.Helpers
 {
 {
@@ -16,5 +18,18 @@ namespace PixiEditor.Helpers
                 PropertyChanged(this, new PropertyChangedEventArgs(property));
                 PropertyChanged(this, new PropertyChangedEventArgs(property));
             }
             }
         }
         }
+
+        protected bool SetProperty<T>(ref T backingStore, T value, [CallerMemberName] string propertyName = "")
+        {
+            if (EqualityComparer<T>.Default.Equals(backingStore, value))
+            {
+                return false;
+            }
+
+            backingStore = value;
+            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+            return true;
+        }
+
     }
     }
 }
 }