我试图从NumericUpDown获得私有成员的值(文本)。
public class NumericUpDown
{
private TextBox Text;
...
...
}
我不明白为什么它不显示为一个字段。也许有人可以澄清字段和成员之间的区别。如果它是一个字段,我发现使用反射我可以得到它:
typeof(NumericUpDown).GetField("Text", BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Instance).GetValue(this) As TextBox
但是它是一个成员所以我必须通过:
获取MemberInfo typeof(NumericUpDown).GetMember("Text", BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Instance).GetValue(0)
this不返回值,而是返回类型为。这是有意义的,因为它是memberinfo的值,但我想要的是实际对象的实际值。
是否有像FieldInfo.GetValue(object)这样的检索方法?任何帮助或建议。
这是因为您使用的是Silverlight。
引用:Silverlight反射不能用于绕过访问级别限制和(例如)调用私有成员。