C# 反射修改私有静态成员变量

//动态链接库中PvsApiIfCtrl.Cls.Cls_Public类有一变量 private static string key="abcd";
//下面通过反射的技术修改和获取值
//设置key
public static void updatePalmKey(string key = "1234567890123456") { BindingFlags flag = BindingFlags.Static | BindingFlags.NonPublic; FieldInfo f_key = typeof(PvsApiIfCtrl.Cls.Cls_Public).GetField("key", flag); f_key.SetValue(new PvsApiIfCtrl.Cls.Cls_Public(), key); } /// <summary> /// 获取key /// </summary> /// <returns></returns> public static string getPalmKey() { BindingFlags flag = BindingFlags.Static | BindingFlags.NonPublic; FieldInfo f_key = typeof(PvsApiIfCtrl.Cls.Cls_Public).GetField("key", flag); object o = f_key.GetValue(new PvsApiIfCtrl.Cls.Cls_Public()); return o.ToString(); }

 

posted @ 2013-08-21 12:01  kuailewangzi1212  阅读(4293)  评论(2编辑  收藏  举报