//反射进行赋值时 防止类型转换异常的标准写法 Type type = Nullable.GetUnderlyingType(propertyInfo.PropertyType); //返回可为空字段的类型 if (type!=null) { propertyInfo.SetValue(model,string.IsNullOrEmpty(newValue)? null:Convert.ChangeType(newValue,type),null); } else { propertyInfo.SetValue(model,string.IsNullOrEmpty(newValue)? null:Convert.ChangeType(newValue,propertyInfo.PropertyType),null); }
其中 newValue 是要设置的值