我有几个具有不同属性的类,例如,其中之一是:
class MGestion
{
public int age { get; set; }
public String gestion { get; set; }
public String inicio { get; set; }
public String fin { get; set; }
public String descripcion { get; set; }
public MGestion(int a,String g,String i,String f,String d) {
age = a;
gestion = g;
inicio = i;
fin = f;
descripcion = d;
}
}
我想要做的是能够像完成一样遍历这些属性array
并获取每个属性的名称和数据类型。
也就是说:
名称:年龄,数据类型:int
名称:管理,数据类型:字符串
.. 以此类推
我不知道这是否可能。谢谢你的帮助。
要获取类中每个字段的名称和类型,您只需要使用运算符
typeof
和其他一些东西。我现在要举的例子,利用类
System.Console
在屏幕上显示结果。System.Type
它只存储有关它所属类型的信息,即它自己的类。方法一:获取类中字段的名称和类型。
现在,让我们假设您在示例中为我们提供的类,我进行了一些修改,以便您可以以简单易懂的方式做您需要的事情:
在要用于打印成员的函数中,您只需执行以下操作:
这将搜索所有字段
public
,private
这不是static
由于BindingFlags
我放入函数中的字段。上面的代码将输出如下内容:
方法2:获取类中属性的名称和类型。
众所周知,字段和属性是两个不同的东西,神奇的是,属性也是变量,但更漂亮。
要获取属性列表并打印它们的值,我们只需将两件事更改为我们上面使用的表单,使其看起来像这样:
在这个方法中,我们只寻找类的属性,无论是否
public
,private
用static
下面的类测试:它在屏幕上显示如下内容:
我希望它对你有所帮助,这是一个小提琴,所以你可以看到它是如何工作的:D