title: PropertyInfo GetValue() Object does not match target type
body: <p>I want to read value of a T type</p>
  
  <pre><code>  public virtual ActionResult Edit(TEditDTO editedDTO)
      {
          if (!ModelState.IsValid) return View(editedDTO);
          var t = editedDTO.GetType();
          var prop = t.GetProperty("Id") ;
          var Id = prop.GetValue(t); // get exception
       }
  </code></pre>
  
  <p>but get</p>
  
  <blockquote>
    <p>Object does not match target type</p>
  </blockquote>