2014-05-09 91 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