title: Why can't I invoke PropertyChanged event from an Extension Method?
body: <p>I've tried to code a class to avoid a method like "RaisePropertyChanged". I know that I can inherit from a class that has that implementation but in some cases I can't. I've tried with a Extension Method but Visual Studio complain.</p>
  
  <pre><code>public static class Extension
  {
      public static void RaisePropertyChanged(this INotifyPropertyChanged predicate, string propertyName)
      {
          if (predicate.PropertyChanged != null)
          {
              predicate.PropertyChanged(propertyName, new PropertyChangedEventArgs(propertyName));
          }
      }
  }
  </code></pre>
  
  <p>It said: </p>
  
  <blockquote>
    <p>"The event
    '<em>System.ComponentModel.INotifyPropertyChanged.PropertyChanged' can
    only appear on the left hand side of += or -=</em>"</p>
  </blockquote>