.NET反射实例

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 20:11 点击:

 

在上篇《程序集和反射(一)》中,我们重点讲解了“程序集”和反射的基本概念,原理等。有的读者可能会认为这些枯燥的理论没啥用,其实不然。据我的经历,面试中问到的很多。能够透彻的理解“程序集,反射等”,而且能在日常开发中灵活的运用反射,是一个优秀的.NET开发人员的重要参考标准。呵呵。

本节中,我将通过具体的实例。教大家如何在)C#).NET开发中使用反射。

首先,我新建一个普通的类库项目。在该项目的测试类中,定义好 属性、静态方法、实例方法、无参方法等... 代码如下:

 

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

 

namespace ReflectorTest 

    class Test 

    { 

        private string name; 

        public string Name { get; set; } 

        /// <summary> 

        /// 静态方法 

        /// </summary> 

        /// <returns></returns> 

        public static string staticMethod(string  name) 

        { 

            return name; 

        } 

        /// <summary> 

        /// 实例方法 

        /// </summary> 

        /// <param name="name"></param> 

        /// <returns></returns> 

        public string sayHello(string name)  

        { 

            return "hello:" + name; 

        } 

        /// <summary> 

        /// 无参的方法 

        /// </summary> 

        /// <returns></returns> 

        public string noParm()  

        { 

            return "I'M  A noParm Method"; 

        } 

    } 

 

上面的类库项目,编译通过后,会生成一个DLL文件。好的,我们就是要通过“反射”技术,来尝试着看看这个DLL里面包含的相关元素信息,做一些模拟的操作等。

有点类似于“反编译”吧?呵呵。其实著名的Reflector.NET反编译工具,就是利用反射的原理。还有Microsoft Visual Studio 中的调试,背后也是利用反射技术..

具体的使用代码如下(都有详细的使用说明,注释。读者可以一目了然):

 

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

using System.Reflection; 

 

 

namespace Demo 

    class Program 

    { 

        static void Main(string[] args) 

        { 

   &nb

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET&#160;GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1