通过名称,如何获取对象的属性?比如现在我要获取Tearm的对象的PersonList[1].Name的值,传入的参数为字符串“PersonList[1].Name”(传入的参数可以是别的形式,如PersonList[2].Age,PersonList等)。PropertyInfo.GetValuepublic class Person
{
public string Name;
public int Age;
}public class Tearm
{
public IList<Person> PersonList
{
get
{
return new List<Person>(){new Person{Name="a",Age=1},new Person{Name="b",Age=2},new Person{Name="c",Age=3}};
}
}
}
//use case
Tearm tearm=new Tearm();
string propertyTarget = "PersonList[1].Name";//可以有其他形式,如: object.p1.p2["key"].p3.value; and so on
object propertyValue = tearm.PersonList[1].Name;//value="b"
object propertyValue2 = GetObjectValue(tearm, propertyTarget);//怎么样写GetObjectValue才能达到获取到相同的效果
{
public string Name;
public int Age;
}public class Tearm
{
public IList<Person> PersonList
{
get
{
return new List<Person>(){new Person{Name="a",Age=1},new Person{Name="b",Age=2},new Person{Name="c",Age=3}};
}
}
}
//use case
Tearm tearm=new Tearm();
string propertyTarget = "PersonList[1].Name";//可以有其他形式,如: object.p1.p2["key"].p3.value; and so on
object propertyValue = tearm.PersonList[1].Name;//value="b"
object propertyValue2 = GetObjectValue(tearm, propertyTarget);//怎么样写GetObjectValue才能达到获取到相同的效果
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货