有没有办法列出C#中某个类的所有变量(字段)。如果可以,那么有人可以给我一些示例,说明如何将其保存在a中List并使用Anonymous Types(var)进行获取。
List
Anonymous Types
您的问题并不十分清楚。听起来您想要类的给定实例的字段值:
var fieldValues = foo.GetType() .GetFields() .Select(field => field.GetValue(foo)) .ToList();
请注意fieldValues是List<object>。这foo是您的课程的现有实例。
fieldValues
List<object>
foo
如果需要public和非public字段,则需要通过以下方式更改绑定标志
public
var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public; var fieldValues = foo.GetType() .GetFields(bindingFlags) .Select(field => field.GetValue(foo)) .ToList();
如果您只想要名称:
var fieldNames = typeof(Foo).GetFields() .Select(field => field.Name) .ToList();
这Foo是您的班级名称。
Foo