从列表中的对象中获取变量列表

本文关键字:列表 变量 获取 对象 | 更新日期: 2023-09-27 18:02:40

我正在使用WinForm或WPF(我相信)

我有一个List<Student> formStudents = new List<Student>();学生本身,是一个对象,我正试图用我的对象学生拥有的所有"类型"或"变量"填充一个组合框。

new Student() { StudentName = "James", Age = 25, Score = 57 };

对于上面的这个例子,我将尝试填充我的WinForm组合框的值(学生的名字,年龄和分数-然后我将搜索的结果),我怎么能从我的对象检索这些属性,而它是在一个列表?

我试过用智能感知(猜测和检查),但到目前为止我还没有运气。

编辑:仅供参考,我只显示部分代码,但我的学生对象都已经在列表中填充。我已经在学生表格上查过了。我只需要拉出变量/类型

从列表中的对象中获取变量列表

using System.Reflection;  
var propertyInfos = typeof(Student).GetProperties();
var propnames = new List<string>();
foreach(var prop in propertyInfos){
    propnames.Add(prop.Name)
}

然后将propnames字符串列表绑定到您的组合框。

使用LINQ:

using System.Linq;
using System.Reflection;
var propertyInfos = typeof(Student).GetProperties();
var propnames = propertyInfos.Select(prop => prop.Name).ToList();

这应该有帮助:c#动态获取类中的变量名和值

在上面的例子中,他将结果传递给一个字典。

http://msdn.microsoft.com/en-us/library/ch9714z3%28v=vs.110%29.aspx

在这个例子中,他们将字段名压入一个数组。

FieldInfo[] myField = myType.GetFields();