c# 反射

c# 开始是支持用反射获取internal 或private 字段的,但在siverlight4中不支持。加入了权限问题。

关键词:ReflectPermissionInternalsVisibleToAttribute(指定友元程序集,友元程序集可以去访问

顺便贴下代码:

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);
}

原文地址:https://www.cnblogs.com/tanglaoya321/p/3154350.html