用反射调用.net库中的方法
2009-04-15 10:32
218 查看
这里调用system.web.ui.page类下的DecryptString方法,其定义如下:
internal static string DecryptString(string s)
{
if (s == null)
{
return null;
}
byte[] buf = HttpServerUtility.UrlTokenDecode(s);
buf = MachineKeySection.EncryptOrDecryptData(false, buf, null, 0, buf.Length);
return Encoding.get_UTF8().GetString(buf);
}
在新建的cs页中写函数代码:
Type t = typeof(System.Web.UI.Page);
object[] args = new object[] { "t0WNtE3pVL9kAV8ZgepUcg2" };
BindingFlags bindingFlags = BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod | BindingFlags.Instance;
string s = (string)t.InvokeMember("DecryptString", bindingFlags, null, this, args);
return s;
说明:
InvokeMember简单的讲,就是动态的调用一个Type(比如类)的特定方法.
比如上面的例子:
t.InvokeMember("DecryptString", bindingFlags, null, this, args);
就是动态的调用了类page的internal static 的方法DecryptString,参数为args.
返回string类型的s.
internal static string DecryptString(string s)
{
if (s == null)
{
return null;
}
byte[] buf = HttpServerUtility.UrlTokenDecode(s);
buf = MachineKeySection.EncryptOrDecryptData(false, buf, null, 0, buf.Length);
return Encoding.get_UTF8().GetString(buf);
}
在新建的cs页中写函数代码:
Type t = typeof(System.Web.UI.Page);
object[] args = new object[] { "t0WNtE3pVL9kAV8ZgepUcg2" };
BindingFlags bindingFlags = BindingFlags.DeclaredOnly | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod | BindingFlags.Instance;
string s = (string)t.InvokeMember("DecryptString", bindingFlags, null, this, args);
return s;
说明:
InvokeMember简单的讲,就是动态的调用一个Type(比如类)的特定方法.
比如上面的例子:
t.InvokeMember("DecryptString", bindingFlags, null, this, args);
就是动态的调用了类page的internal static 的方法DecryptString,参数为args.
返回string类型的s.
相关文章推荐
- 利用.net反射动态调用指定程序集的中的方法
- 用反射调用别人的.NET程序里的类和方法
- 利用.net反射动态调用指定程序集的中的方法
- 在C++中反射调用.NET的方法(二)
- 利用.net反射动态调用指定程序集的中的方法
- 利用.net反射动态调用指定程序集的中的方法
- .net 使用JQuery 调用Ashx 后面直接写方法名,通过反射找到对应的方法
- 用反射调用别人的.NET程序里的类和方法
- 在C++中反射调用.NET的方法(一)
- 利用.net反射动态调用指定程序集的中的方法
- 代码演示 .NET 中普通方法的调用、反射调用、动态(Dynamic)调用的区别
- 利用.net反射动态调用指定程序集的中的方法
- 用反射调用别人的.NET程序里的类和方法(转)
- 用反射调用别人的.NET程序里的类和方法
- .net 反射,通过自定义Attribute动态调用类方法
- 用反射调用别人的.NET程序里的类和方法
- 在C++中反射调用.NET的方法(三)
- [置顶] C# 如何利用反射,将字符串转化为类名并调用类中方法
- 反射调用静态方法
- .NET应用程序中异步调用Web Service的几种方法 come from: veryhappy(wx.net)