如何获取具有其姓名字符串的类成员值?

可能重复:
如何动态读取C#类的属性?

我必须使用其名称的字符串来获取类成员的值。 我想我必须使用reflection,但我不确定如何。 你能帮助我吗?

MemberInfo member = typeof(MyClass).GetMember("membername"); 

GetMember参考。

如果你知道你正在寻找的成员类型,你可以使用.GetMethod.GetField.GetProperty等。

如果您不知道您正在使用的类型:

 var myobject = someobject; string membername = "somemember"; MemberInfo member = myobject.GetType().GetMember(membername); 

不同的成员类型有不同的获取价值的方法。 对于您要做的房产:

 var myobject = someobject; string propertyname = "somemember"; PropertyInfo property = myobject.GetType().GetProperty(membername); object value = property.GetValue(myobject, null); 
 public class Foo { public string A { get; set; } } public class Example { public void GetPropertyValueExample() { Foo f = new Foo(); fA = "Example"; var val = f.GetType().GetProperty("A").GetValue(f, null); } }