CS0067 when event PropertyChanged is not used

Opt-In PropertyChanged Notification weaving, by adding an attribute to the class. It will add the INotifyPropertyChanged interface (and implementation) to the class, plus of course the notifications.
Like this:

    [NotifyPropertyChanged]
    class foo {
        public Bar { get; set; }
    ]

results in

    class foo : INotifyPropertyChanged {
        public event PropertyChangedEventHandler PropertyChanged;
        
        public Bar 
          get {
            return this.bar;
          }
          set {
            if(value != this.bar) {
              this.bar = value;
              this.PropertyChanged(this, new PropertyChangedEventArgs("Bar"));
            }
          }
    }

@SimonCropp
can you please review this. Please put special attention to the generated IL code since this is a first for me.