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

 

posted on 2013-06-25 11:22  tanglaoya321  阅读(215)  评论(0)    收藏  举报