有没有办法在C#中列出一个类的所有变量(字段)。 如果是有人可以给我一些例子如何将它们保存在List
并让他们使用Anonymous Types
(var)。如何列出类的所有变量
13
A
回答
32
你的问题不是很清楚。这听起来像你想要的字段的值类的给定实例:
var fieldValues = foo.GetType()
.GetFields()
.Select(field => field.GetValue(foo))
.ToList();
注意fieldValues
是List<object>
。在这里,foo
是您班级的现有实例。
如果你想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
是名你的班。
+0
我得到一个“表达式不能包含lambda表达式”与此语法 –
2
var fields = whateverYourClassType.GetType().GetFields().Select(f => f.Name).ToList();
3
8
这将列出所有字段的一个类名(包括公立和非公立,静态和实例字段):如果你想要得到的领域
BindingFlags bindingFlags = BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.Static;
foreach (FieldInfo field in typeof(TheClass).GetFields(bindingFlags))
{
Console.WriteLine(field.Name);
}
基于一些对象实例,而不是使用GetType
代替:
foreach (FieldInfo field in theObject.GetType().GetFields(bindingFlags))
{
Console.WriteLine(field.Name);
}
+0
这对我有用。正试图获得我所有的枚举:'MyEnum enum =(MyEnum)0;' –
0
不太问问题 - 但这里是如何从一个名为“inv”的对象中获取Decimal类型的所有属性的值:
var properties = inv.GetType().GetProperties();
foreach (var prop in properties)
{
if (prop.ToString().ToLower().Contains("decimal"))
{
totalDecimal += (Decimal)prop.GetValue(inv, null);
}
}
相关问题
- 1. 如何列出所有实例变量?
- 2. 如何在python中列出某些类型的所有变量?
- 3. 如何在swift中列出一个类的所有变量
- 4. 如何列出变量列表中的所有位置?
- 5. 如何列出在Qt中从QObject继承的类的所有成员变量?
- 6. 如何列出所有类的属性
- 7. 列出派生类中的所有方法/变量
- 8. Eclipse:列出所有类的方法和变量
- 9. 列出Swift2中一个类的所有`dynamic`变量
- 10. 如何列出Gorilla Mux中的所有变量?
- 11. Xcode:如何列出变量的所有方法?
- 12. 如何列出节点依赖的所有Tensorflow变量?
- 13. 如何列出文件中的所有PHP变量?
- 14. 如何列出所有可用的上下文变量?
- 15. 如何列出IEx中的所有shell变量?
- 16. Scala反射:如何列出范围内的所有变量?
- 17. Cplex列出所有模型变量(.NET)
- 18. 如何列出类中定义的所有常量属性
- 19. 如何列出所有Linux环境变量,包括LD_LIBRARY_PATH
- 20. 如何使用GroovyShell列出所有绑定变量
- 21. 列中所有行的可变变量
- 22. 如何获取包中所有类通用的常量变量?
- 23. 如何列出Eclipse Java中所有类的所有方法的所有用法?
- 24. 如何列出在C的变体类型的变量的所有属性++等的console.log在JavaScript
- 25. 如何列出所有未经测试的类/类的方法?
- 26. 列出所有类型
- 27. 列出所有类对象
- 28. 如何打印出所有的系统变量,例如java.class.path
- 29. 列出一个类的所有子类
- 30. 如何列出python文件中给定类型的所有类?
“变量”是指字段,属性还是两者? –
Fields,sory我编辑了我的帖子。 – Burimi
_Show me codez _...这里是文档:http://msdn.microsoft.com/en-us/library/sa5z9w50.aspx – sehe