Skip to content

Injects INotifyPropertyChanged code into properties at compile time.

Notifications You must be signed in to change notification settings

dsplaisted/NotifyPropertyWeaver

 
 

Repository files navigation

Injects INotifyPropertyChanged code into properties at compile time.

  • No install required
  • No attributes required
  • No references required
  • No base class required
  • Supports .net 3.5, .net 4, .net 4.5, Silverlight 3, Silverlight 4, Silverlight 5 and Windows Phone 7
  • Supports client profile mode

Feel free to ping me on twitter http://twitter.com/SimonCropp

Setup can be simplified by installing the Visual Studio package

Your Code

public class Person : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    public string GivenNames { get; set; }
    public string FamilyName { get; set; }

    public string FullName
    {
        get
        {
            return string.Format("{0} {1}", GivenNames, FamilyName);
        }
    }

}

What gets compiled

public class Person : INotifyPropertyChanged
{

    public event PropertyChangedEventHandler PropertyChanged;

    string givenNames;
    public string GivenNames
    {
        get { return givenNames; }
        set
        {
            if (value != givenNames)
            {
                givenNames = value;
                OnPropertyChanged("GivenNames");
                OnPropertyChanged("FullName");
            }
        }
    }

    string familyName;
    public string FamilyName
    {
        get { return familyName; }
        set 
        {
            if (value != familyName)
            {
                familyName = value;
                OnPropertyChanged("FamilyName");
                OnPropertyChanged("FullName");
            }
        }
    }

    public string FullName
    {
        get
        {
            return string.Format("{0} {1}", GivenNames, FamilyName);
        }
    }

    public virtual void OnPropertyChanged(string propertyName)
    {
        var propertyChanged = PropertyChanged;
        if (propertyChanged != null)
        {
            propertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

What is the difference between NotifyPropertyWeaver and Fody.PropertyChanged?

What Fody means to NotifyPropertyWeaver

WIKI

See Wiki for more doco

About

Injects INotifyPropertyChanged code into properties at compile time.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 42.6%
  • C# 39.5%
  • C 17.9%