2014-05-09 57 views
0

我使用的WinForm或WPF(我相信)在列表获取的变量列表从对象

我有一个List<Student> formStudents = new List<Student>();学生本身,是一个对象,我想填充COMBOX与所有的我的对象学生拥有的“类型”或“变量”。

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

对于上面这个例子,我想尝试填充我的WinForm的组合框的值(StudentName,年龄和分数 - 我然后会通过结果搜索),我怎么可以检索从我的对象的属性,而它在列表中?

我已经尝试过用IntelliSense搞乱(猜测和检查),但是到目前为止我还没有运气。

编辑:仅供参考,我只显示代码的一部分,但我的学生对象已全部填入列表中。我已经检查了studentForms上的.Count。我只需要拉出变量/类型。

+0

这是winforms,wpf,webforms,mvc,android,ios,windows phone吗?需要这个信息 – Joe

+0

@Joe愚蠢的问题,我不完全确定我选择了WPF或WinForm。这是否意味着一个winform?使用System.Windows.Forms; – Austin

+0

我会这么想的,但是你的项目中是否有任何XAML文件? – Joe

回答

2
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(); 
+0

非常感谢! – Austin