如何获取具有其姓名字符串的类成员值?
可能重复:
如何动态读取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); } }