如何获取数组中类的属性

Bhu*_*ake 3 c#

我有一个学生班,结构如下:

    public sealed class Student
    {
       public string Name {get;set;}
       public string RollNo {get;set;}
       public string standard {get;set;}
       public bool IsScholarshipped {get;set;}
       public List<string> MobNumber {get;set;}
    }
Run Code Online (Sandbox Code Playgroud)

如何在类似数组中获取Student类的这些属性

     arr[0]=Name;
     arr[1]=RollNo; 
      .
      .
      .
     arr[4]=MobNumber
Run Code Online (Sandbox Code Playgroud)

并且这些属性的类型在单独的数组中

     arr2[0]=string;
     arr2[1]=string;
      .
      .
      .
     arr2[4]=List<string> or IEnumerable
Run Code Online (Sandbox Code Playgroud)

请用大块代码解释一下.

Lev*_*lho 7

var type = model.GetType();
var properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
Run Code Online (Sandbox Code Playgroud)

这会给你一个数组PropertyInfo.然后,您可以执行此操作以获取名称:

properties.Select(x => x.Name).ToArray();
Run Code Online (Sandbox Code Playgroud)


Ham*_*yan 5

你可以使用反射:

foreach (PropertyInfo prop in typeof(Student).GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
   '''
}
Run Code Online (Sandbox Code Playgroud)