我有以下代码:
FieldInfo[] fieldInfos;
fieldInfos = GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
我所试图做的就是使用反射在运行时的电流化实例,我的属性之一的值。 我怎样才能做到这一点?
我有以下代码:
FieldInfo[] fieldInfos;
fieldInfos = GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
我所试图做的就是使用反射在运行时的电流化实例,我的属性之一的值。 我怎样才能做到这一点?
像这样的东西应该工作:
var value = (string)GetType().GetProperty("SomeProperty").GetValue(this, null);
尝试的GetProperties方法,它应该让你的财产,而不是字段。
要检索的价值,做这样的事情:
object foo = ...;
object propertyValue = foo.GetType().GetProperty("PropertyName").GetValue(foo, null);
这是使用的getProperty,它返回仅一个PropertyInfo对象,而不是将它们的阵列。 然后,我们调用的GetValue,这需要对象的参数来检索(中的PropertyInfo是特定的类型,而不是实例)的值。 到的GetValue第二个参数是索引的数组,索引属性,我假设你感兴趣的属性不是一个索引属性。 (索引属性是你做了什么让list[14]
检索列表的第14个元素。)