①定义一个匿名类和对象
int objA = 1;
string objB = "hello";
object anonymous = new { objA, objB };
在第三行中,我们即定义了一个拥有两个成员变量,一个是类型为int,变量名为objA,另一个类型为string,变量名为objB的类;也实例化了一个这个匿名类的对象anonymous,对象的成员变量objA的值为1,成员变量objB的值为“hello”。
②使用反射获取匿名类的对象的值
Type type = anonymous.GetType();
//获取到类的所有成员变量信息
PropertyInfo[] infos = type.GetProperties();
foreach(PropertyInfo info in infos){
string propertyType = info.PropertyType.ToString();
string propertyName = info.Name;
object propertyValue = info.GetValue(anonymous);
Console.WriteLine(propertyType + " " + propertyName + ":" + propertyValue);