title: Handling PropertyChanged in a type-safe way
body: <p>There have been plenty of articles about how to use reflection and LINQ to raise PropertyChanged events in a type-safe way, without using strings.</p>
  
  <p>But is there any way to <em>consume</em> PropertyChanged events in a type-safe manner? Currently, I'm doing this</p>
  
  <pre><code>void model_PropertyChanged(object sender, PropertyChangedEventArgs e)
  {
      switch (e.PropertyName)
      {
          case "Property1":
              ...
          case "Property2":
              ...
  
          ....               
      }
  }
  </code></pre>
  
  <p>Is there any way to avoid  hard-coding strings in a switch statement to handle the different properties? Some similar LINQ- or reflection-based approach?</p>