Type objType;
System.Reflection.PropertyInfo prop;
User objUser = new User(); //比如有两个属性 Name (string类型),Age (int类型)
objType = objUser.GetType();
prop = objType.GetProperty( "Age" );
prop.SetValue(objUser,2,null);
//转换数字类型时报“不能从目标类型扩展到基元类型”错误。
奇怪ing...
这种情况主要是由于数据类型不一致,尤其是当要赋的值是从数据库里查询所得,如从数据库里查询一个bigint字段的值,而把该值直接赋给对象的int 属性,就会出现上面的错误。
对于这样的类型,用户要自己显示的把它转换为要赋值对象的属性类型。
博客指出将从数据库查询所得的值赋给对象属性时,因数据类型不一致,会出现“不能从目标类型扩展到基元类型”错误。如将数据库bigint字段值直接赋给对象的int属性就会报错,建议用户自行显式转换为目标属性类型。
234

被折叠的 条评论
为什么被折叠?



