1. 程式人生 > >C# 通過反射如何訪問靜態成員

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