c#通过类的成员名字获取对应成员变量的值

PropertyInfo[] info = (typeof(ShopItem)).GetProperties();//获取了ShopItem的属性信息
ShopItem m;//假设这个对象不为空(有具体的值的)
/*
此注释所对应的是下面一段代码:
取第一个成员属性,假设第一个成员属性名字是id,类型是long,
如果你知道成员名具体叫什么,
那么你可以把“info[0].Name”替换成你知道的成员名(字符串形式),
比如说"ShopItem"类的第0个索引的成员名是"id",那就:
typeof(ShopItem).GetProperty("id").GetValue(m);
*/ long result = typeof(ShopItem).GetProperty(info[0].Name).GetValue(m);
原文地址:https://www.cnblogs.com/Transmuter/p/11520985.html