反射技术示例

转载 2007年09月22日 00:50:00
1.2 反射技术示例 
       
下面是反射技术的示例,我们可以在程序去得时动态实例化对象,获得对象的属性,并调用对象的方法。
using System;
using System.Collections.Generic;
using System.Text;
 
namespace ReflectionDemo
{
    public class HelloWorld
    {
        private string strName = null;
        public HelloWorld(string name)
        {
            strName = name;
        }
        public HelloWorld()
        {
        }
        public string Name
        {
            get
            {
                return strName;
            }
        }
        public void SayHello()
        {
            if (strName == null)
            {
                System.Console.WriteLine("Hello World");
            }
            else
            {
                System.Console.WriteLine("Hello World,"+strName);
            }
        }
 
    }
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
 
namespace ReflectionDemo
{
        class Program
        {
            static void Main(string[] args)
            {
                System.Console.WriteLine("列出程序集中的所有类型");
                Assembly a = Assembly.LoadFrom ("ReflectionDemo.exe");
                Type[] mytypes = a.GetTypes( );
 
                foreach (Type t in mytypes)
                {
                  System.Console.WriteLine ( t.Name );
                }
                System.Console.ReadLine ( );
 
                System.Console.WriteLine ("列出HellWord中的所有方法" );
                Type ht = typeof(HelloWorld);
                MethodInfo[] mif = ht.GetMethods();
                foreach(MethodInfo mf in mif)
                {
                  System.Console.WriteLine(mf.Name);
                }
                System.Console.ReadLine();
 
                System.Console.WriteLine("实例化HelloWorld,并调用SayHello方法");
                Object obj = Activator.CreateInstance(ht); //调用无参数构造函数
 
                string[] s = {"zhenlei"};
                Object objName = Activator.CreateInstance(ht, s); //调用参数构造函数
 
                //BindingFlags flags = (BindingFlags.NonPublic|BindingFlags.Public|BindingFlags.Static|BindingFlags.Instance|BindingFlags.DeclaredOnly);
                MethodInfo msayhello = ht.GetMethod("SayHello");
                msayhello.Invoke(obj,null);
                msayhello.Invoke(objName,null);
                System.Console.ReadLine();
 
                }
            }
    }
 

C#反射示例代码

using System;   using System.Collections.Generic;   using System.ComponentModel;   using System.D...
  • zzy7075
  • zzy7075
  • 2016年01月03日 15:54
  • 471

java反射机制代码

今天,自己特意复习了一下java的反射机制,对一个类中的属性、方法及构造方法通过反射机制进行操作,关于反射机制的一些概念就不多说了,大家可以看我以前的java基础博客进行了解,下面的都是一些代码: ...
  • HarderXin
  • HarderXin
  • 2014年04月09日 17:07
  • 2169

struts2框架是如何应用反射的

struts2框架是如何应用反射的
  • bawcwchen
  • bawcwchen
  • 2015年01月19日 22:12
  • 1330

Angry Bots水面反射效果剖析

这两天研究了一些unity官方的例子Angry Bots,发现其中的水面反射挺有趣,就算是作为读书笔记写下来吧。 图中显示了地面的水相当于一块模糊的镜子一样。 就先来说说其中的原理吧,生活...
  • lj820348789
  • lj820348789
  • 2015年08月31日 21:53
  • 780

Servlet搬砖笔记—反射机制的妙用

最近弄点小东西,由于客户需求,必须用servlet+jsp,知道这个消息我是拒绝的,但砖还要搬 逻辑理好后,如果按一般的servlet的写法,代码会显得异常的臃肿,百度了一下,单Servlet的写...
  • H121BABY
  • H121BABY
  • 2017年03月11日 15:20
  • 463

Java反射机制详解

第一次听说java反射机制的时候,觉得很高大上,毕竟从名字上了就可以知道它的专业性,事实上java反射也确实很牛逼,当我开始正真学习它的时候,我的整个学习过程中整个人也是懵逼的,但是呢!这也更激起了我...
  • weixian52034
  • weixian52034
  • 2016年08月10日 12:23
  • 1136

反射机制的运用

前边一篇博客写过相关反射机制的基础知识:java中的反射机制。写完这篇后有一条评论“反射反射程序员的快乐”,为什么说“快乐呢”,咱们看看反射的强大功能吧!这篇博客简单说一下反射机制的运用。      ...
  • liujiahan629629
  • liujiahan629629
  • 2014年02月22日 19:48
  • 3049

struts2原理分析之反射技术动态获取属性

反射技术动态获取属性 知道struts2的流程的乡亲们都知道。struts2采用了动态获取属性的方法, 将表单里的数据传给了Action。 例如; 在struts2里有如下配置文件 ...
  • u014714340
  • u014714340
  • 2015年06月02日 14:33
  • 412

深入理解java反射机制

一,java的核心机制java有两种核心机制:java虚拟机(JavaVirtual Machine)与垃圾收集机制(Garbage collection): Java虚拟机:是运行所有Java...
  • u012585964
  • u012585964
  • 2016年07月24日 02:32
  • 6640

java中的反射技术

1: java中的反射机制:  a)在Java 运行时 环境中,对任意一个类, 可以知道这个类所有的属性和方法。 b)任意一个对象,可以动态地获取类的信息,然后调用类中的方法, 也是基于jav...
  • wanghang88
  • wanghang88
  • 2016年10月30日 17:50
  • 262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:反射技术示例
举报原因:
原因补充:

(最多只允许输入30个字)