鉴于此课程
public partial class Default : Page
{
private IRepository repo;
...
}
我想查找并设置私有repo
字段。那可能吗?
我尝试使用GetFields(BindingFlags.NonPublic)
,它会返回{System.Reflection.FieldInfo[0]}
。
我尝试使用GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
,它会返回Page
但不是repo
的所有字段。
答案 0 :(得分:3)
使用允许您指定标志的GetFields
重载:
GetFields(BindingFlags.NonPublic | BindingFields.Instance)
答案 1 :(得分:0)
您可以使用以下代码:
MemberInfo [] mi = System.Runtime.Serialization.FormatterServices.GetSerializableMembers(MyType);
并转换FieldInfo fi =(FieldInfo)mi [i]; 此代码返回Serializable Members(privates)