Welcome

首页 / 软件开发 / .NET编程技术 / 如何调用.Net中的非Public方法

如何调用.Net中的非Public方法2011-12-17 博客园 启明今天在网上闲逛,无意见发现一个代码中使用反射调用.Net框架中的非Public方法,觉得这个思路很好. 我怎么就没有想到呢?前两个还在想怎样调用Page类中的Internal方法DecryptString来解一个隐藏 域"__PREVIOUSPAGE"的值,看判断自己的一个分析是否正确.马上动手代码如下,^_^问题解决了.

  protected void Button2_Click(object sender, EventArgs e)  {    //Server.Transfer("default2.aspx");    Type t = typeof(System.Web.UI.Page);    object[] args = new object[] { "Htr9cH0-sPEsru8HSXo70y6PnBg8nwjl0" };      BindingFlags bindingFlags = BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod | BindingFlags.Instance;    string s=(string) t.InvokeMember("DecryptString", bindingFlags, null, this, args);    Response.Write("</br>"+s+"</br>");  }