迭代列表中的所有属性

Jam*_*123 1 c# vb.net asp.net

我有List(Of Report).报告有90个属性.我不想写每个属性来获取属性的值.是否有任何从列表中获取propeties值的方法

例如:

Dim mReports as new List(Of Reports)
mReport = GetReports()

For each mReport as Report In mReports
   'Here I want get all properties values without writing property names
next
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 6

你可以使用反射:

static readonly PropertyInfo[] properties = typeof(Reports).GetProperties();

foreach(var property in properties) {
    property.GetValue(someInstance);
}
Run Code Online (Sandbox Code Playgroud)

但是,它会很慢.

一般来说,一个有90个proeprties的课程设计很差.
考虑使用词典或重新思考您的设计.