c# 开始是支持用反射获取internal 或private 字段的,但在siverlight4中不支持。加入了权限问题。
关键词:ReflectPermission、InternalsVisibleToAttribute(指定友元程序集,友元程序集可以去访问)
顺便贴下代码:
public static object GetPrivateField<T>(object instance, string fieldname)
{
BindingFlags flag = BindingFlags.Instance | BindingFlags.NonPublic;
Type type = typeof(instance);
FieldInfo field = type.GetField(fieldname, flag);
return field.GetValue(instance);
}