Skip to content

Injects INotifyPropertyChanged code into properties at compile time.

License

Notifications You must be signed in to change notification settings

Z731/NotifyPropertyWeaver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

License

Licensed under MIT. Refer to license.txt for more information.

About

Injects INotifyPropertyChanged code into properties at compile time.

Resources

License

Stars

Watchers

Forks

Packages

No packages published