I have got a class which contains more then 150 fields. i need the name of fields (not value) in an array.
because its very hard and not a good approach to write 150
for all public + nonpublic instance fields:
var fields = typeof(YourType).GetFields(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
var names = Array.ConvertAll(fields, field => field.Name);
or in VS2005 (comments):
FieldInfo[] fields = typeof(YourType).GetFields(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
string[] names = Array.ConvertAll(fields,
delegate(FieldInfo field) { return field.Name; });