title: Convert.ChangeType() fails on Nullable Types
body: <p>I want to convert a string to an object property value, whose name I have as a string. I am trying to do this like so:</p>
  
  <pre><code>string modelProperty = "Some Property Name";
  string value = "SomeValue";
  var property = entity.GetType().GetProperty(modelProperty);
  if (property != null) {
      property.SetValue(entity, 
          Convert.ChangeType(value, property.PropertyType), null);
  }
  </code></pre>
  
  <p>The problem is this is failing and throwing an Invalid Cast Exception when the property type is a nullable type.  This is not the case of the values being unable to be Converted - they will work if I do this manually (e.g. <code>DateTime? d = Convert.ToDateTime(value);</code>)  I've seen some similiar questions but still can't get it to work.</p>