Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.ComponentModel;
- using System.Linq.Expressions;
- namespace UI.Helpers
- {
- public class NotificationObject : INotifyPropertyChanged
- {
- protected void RaisePropertyChanged<T>(Expression<Func<T>> action)
- {
- var propertyName = GetPropertyName(action);
- RaisePropertyChanged(propertyName);
- }
- protected void OnPropertyChanged<T>(Expression<Func<T>> action)
- {
- var propertyName = GetPropertyName(action);
- RaisePropertyChanged(propertyName);
- }
- private static string GetPropertyName<T>(Expression<Func<T>> action)
- {
- var expression = (MemberExpression)action.Body;
- var propertyName = expression.Member.Name;
- return propertyName;
- }
- private void RaisePropertyChanged(string propertyName)
- {
- if (PropertyChanged != null)
- PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
- }
- public event PropertyChangedEventHandler PropertyChanged;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment