| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4479 人关注过本帖, 2 人收藏
标题:关于C#反射的 实例讲解。
取消只看楼主 加入收藏
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏(2)
 问题点数:0 回复次数:3 
关于C#反射的 实例讲解。
我自己的理解,说的不好别见笑
using sendkey;
 public key kk = new key();
            int pid=0,jbid=0;
            pid = kk.pid("su_client.exe");
            label1.Text +="="+ pid.ToString(); //返回一个指定程序的PID
            jbid = kk.findwin(txtname.Text);
            pid = kk.pid(jbid);
            label2.Text += "=" + pid.ToString();
以上 是一个类 通过引用正常 调用的例子,大家都能理解。

 System.Reflection.Assembly asm = Assembly.LoadFile(@"E:\模拟键盘外挂\模拟键盘\测试\bin\Debug\sendkey.dll");
            //获取类型   
            Type t = asm.GetType("sendkey.key");
            //获取没有参数的构造函数   
            System.Reflection.ConstructorInfo conn = t.GetConstructor(new Type[0]);
            //调用没有参数的构造函数,Invoke返回object它其是a类   
            object a1 = conn.Invoke(new object[0]);
            //获取参数类型为int,函数名为func的方法   
            MethodInfo method = t.GetMethod("pid", new Type[] { typeof(String) });
            //在a1上调用func方法,参数为1   
            label1.Text=method.Invoke(a1, new object[] { "QQ.exe" }).ToString();   //返回一个指定程序的PID

如果用反射就是以上的例子

通过例子我们可以发现,一般的调用方法,是静态的事先约定好的,通过项目的引用声明等等,而通过反射
我们可以动态的加载DLL组件,通过这种功能我们可以 延伸出很多很酷的功能,呵呵
网上好像有一个 打造自己的脚本语言的例子,大家可以充分的想象用处,我也是才理解的,希望高手能指点一二
搜索更多相关主题的帖子: pid 实例 反射 quot Assembly 
2008-02-03 14:13
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏
得分:0 
呵呵,每次都是斑竹支持啊

www. 我的原创下载
2008-02-03 22:49
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏
得分:0 
我正在编写一种新的脚本语言,自己写这玩了,等写好了,在发心得

www. 我的原创下载
2008-02-05 00:53
dreamsfly
Rank: 2
等 级:论坛游民
帖 子:152
专家分:13
注 册:2007-6-29
收藏
得分:0 
好好研究研究把,70%以上的人不知道这个功能,80%以上的人不知道怎么玩这个

www. 我的原创下载
2008-02-21 23:24
快速回复:关于C#反射的 实例讲解。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017179 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved