反射----重载的方法
private string PrintString()
{
return "";
}
private string PrintString(string str)
{
return "str";
}
private string PrintString(string str1, string str2)
{
return str1+str2;
}
当这个类生成在一个dll中后 如何实现对这三个方法的发射呢? 注意都是私有的
Type t = typeof(你的类);
MethodInfo m0 = t.GetMethod("PrintString", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null);
MethodInfo m1 = t.GetMethod("PrintString", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string) }, null);
MethodInfo m2 = t.GetMethod("PrintString", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string), typeof(string) }, null);
BindingFlags.Instance 或 BindingFlags.Static必须指定其一,以确定你要的是否是静态方法.
BindingFlags.Instance ,反射的时候会去实例成员,也就是非静态的,你的3个方法都是非静态的,所以必须加上这个才行。
BindingFlags.Static ,要反射静态的方法就必须加上这个。
摘自:http://hi.baidu.com/motiansen/blog/item/385faeb107f01d530823020f.html
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
2009-07-13 下载文件(类似与<A href>)