遍历动态对象字段并获取字段数据类型



我有动态类型的对象和Int数据类型的索引变量。是否有可能在给定的索引中获得动态对象的字段类型?

伪代码:

dynamic dynamicObject = ...
var type = GetType(dynamicObject.Fields[index]); // Int, String or another.

例如

dynamic dynamicObject = new
{
Name = "Bla",     
Age = 2,
Surname = "Bla Bla"
};
int index = 2;

我想要得到System。字符串

使用反射。如果您使用object类型而不是dynamic,或者允许使用var进行类型推断,它将工作得一样好:

var dynamicObject = new
{
Name = "Bla",     
Age = 2,
Surname = "Bla Bla"
};
int index = 2;
System.Reflection.PropertyInfo[] allProps = dynamicObject.GetType().GetProperties();
System.Reflection.PropertyInfo prop = allProps[index];
Type type = prop.PropertyType;