反射怎么获取类属性类型有一个类:class People{public int ID { get; set; }public string Name { get; set; }public bool Register { set; get; }public float Gold { get; set; }}我怎么通过反射获取每一个属性的类型,是Int型的
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 11:42:15
![反射怎么获取类属性类型有一个类:class People{public int ID { get; set; }public string Name { get; set; }public bool Register { set; get; }public float Gold { get; set; }}我怎么通过反射获取每一个属性的类型,是Int型的](/uploads/image/z/6371378-26-8.jpg?t=%E5%8F%8D%E5%B0%84%E6%80%8E%E4%B9%88%E8%8E%B7%E5%8F%96%E7%B1%BB%E5%B1%9E%E6%80%A7%E7%B1%BB%E5%9E%8B%E6%9C%89%E4%B8%80%E4%B8%AA%E7%B1%BB%EF%BC%9Aclass+People%7Bpublic+int+ID+%7B+get%3B+set%3B+%7Dpublic+string+Name+%7B+get%3B+set%3B+%7Dpublic+bool+Register+%7B+set%3B+get%3B+%7Dpublic+float+Gold+%7B+get%3B+set%3B+%7D%7D%E6%88%91%E6%80%8E%E4%B9%88%E9%80%9A%E8%BF%87%E5%8F%8D%E5%B0%84%E8%8E%B7%E5%8F%96%E6%AF%8F%E4%B8%80%E4%B8%AA%E5%B1%9E%E6%80%A7%E7%9A%84%E7%B1%BB%E5%9E%8B%2C%E6%98%AFInt%E5%9E%8B%E7%9A%84)
反射怎么获取类属性类型有一个类:class People{public int ID { get; set; }public string Name { get; set; }public bool Register { set; get; }public float Gold { get; set; }}我怎么通过反射获取每一个属性的类型,是Int型的
反射怎么获取类属性类型
有一个类:
class People
{
public int ID { get; set; }
public string Name { get; set; }
public bool Register { set; get; }
public float Gold { get; set; }
}
我怎么通过反射获取每一个属性的类型,是Int型的,还是string型的还是float型的,我主要想实力话这个类的时候,初始化这些值,string 为Empty,Int为0.
反射怎么获取类属性类型有一个类:class People{public int ID { get; set; }public string Name { get; set; }public bool Register { set; get; }public float Gold { get; set; }}我怎么通过反射获取每一个属性的类型,是Int型的
反射可以获取到属性类型,Field类里面有个方法,getType()就是获取属性类型的.
下面是个示例代码.
public static void main(String args[]) {
\x09\x09People peo = new People();
\x09\x09Class cla = People.class;
\x09\x09try {
\x09\x09\x09Field[] fields = cla.getFields();
\x09\x09\x09for(Field field:fields){
\x09\x09\x09\x09Class c = field.getType();
\x09\x09\x09\x09if(c==String.class){
\x09\x09\x09\x09\x09field.set(peo,"EMPTY");
\x09\x09\x09\x09}else if(c==Integer.class){
\x09\x09\x09\x09\x09field.set(peo,0);
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09} catch (SecurityException e) {
\x09\x09\x09// TODO Auto-generated catch block
\x09\x09\x09e.printStackTrace();
\x09\x09}catch (IllegalArgumentException e) {
\x09\x09\x09// TODO Auto-generated catch block
\x09\x09\x09e.printStackTrace();
\x09\x09} catch (IllegalAccessException e) {
\x09\x09\x09// TODO Auto-generated catch block
\x09\x09\x09e.printStackTrace();
\x09\x09}
\x09}
主要就是用Class c = field.getType();
这个来获取类型.
仍有问题可以Hi我.或者直接追问.