C#如何获取类中成员的数据类型
C#如何获取类中成员的数据类型需求:根据用户在窗体上选择的编号n,来更改class类的实例中,第n个成员变量的值做法:我现在用反射的方法可以遍历类中的每个变量,当遍历到第...
C#如何获取类中成员的数据类型
需求:根据用户在窗体上选择的编号n,来更改class类的实例中,第n个成员变量的值
做法:我现在用反射的方法可以遍历类中的每个变量,当遍历到第n个成员变量时,给当前成员变量赋值。
问题:成员变量的类型不一样,有float,int,short。如果类型一致就可以赋值,类型不一致就不能赋值。现在怎么才能强制转换成目标类型,或者说,我怎么才能获得成员变量的数据类型。(我用了try和catch,三种类型可以选一个正确的,但是效率太低了) 展开
需求:根据用户在窗体上选择的编号n,来更改class类的实例中,第n个成员变量的值
做法:我现在用反射的方法可以遍历类中的每个变量,当遍历到第n个成员变量时,给当前成员变量赋值。
问题:成员变量的类型不一样,有float,int,short。如果类型一致就可以赋值,类型不一致就不能赋值。现在怎么才能强制转换成目标类型,或者说,我怎么才能获得成员变量的数据类型。(我用了try和catch,三种类型可以选一个正确的,但是效率太低了) 展开
1个回答
2015-06-30 · 知道合伙人软件行家
关注
展开全部
你用反射,那你获取PropertyInfo会告诉你当前属性是什么类型的。PropertyType 这个是指示什么数据类型。
https://msdn.microsoft.com/zh-cn/library/system.reflection.propertyinfo_properties(v=vs.80).aspx
https://msdn.microsoft.com/zh-cn/library/system.reflection.propertyinfo_properties(v=vs.80).aspx
追问
property.SetValue(obj,Convert.ChangeType(value,property.PropertyType),null);
我最后找到了,用的这句。
还是谢谢你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询