如何循环类的字段名称

Dr.*_*len 21 c# loops field class

我有一个包含150多个字段的类.我需要数组中的字段名称(而不是值).

因为在代码中手动编写150个字段名称(可根据需求变化递增或递减计数)非常困难而且不是很好的方法.

我需要帮助来获取字段名称的循环或获取数组中的字段名称列表,以便我可以循环它并在代码中使用它.我正在使用visual studio 2008

谢谢

Mar*_*ell 18

对于所有公共+非公共实例字段:

var fields = typeof(YourType).GetFields(
    BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
var names = Array.ConvertAll(fields, field => field.Name);
Run Code Online (Sandbox Code Playgroud)

或者在VS2005中(评论):

FieldInfo[] fields = typeof(YourType).GetFields(
    BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
string[] names = Array.ConvertAll<FieldInfo, string>(fields,
    delegate(FieldInfo field) { return field.Name; });
Run Code Online (Sandbox Code Playgroud)


Stu*_*ens 9

试试这个:

var t = typeof(YourTypeHere);
List<string> fieldNames = new List<string>(t.GetFields().Select(x => x.Name));
Run Code Online (Sandbox Code Playgroud)