你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:文章管理 / 本期精品文章
利用反射方法实现对Windows窗体的操纵
 

   祝宇

本文通过创建控制台程序,利用.NET提供的映射方法,实现了对Windows窗体程序的操纵。这种方法实现简单,在软件测试领域有一定的应用范围。

关键词 映射,窗体,操纵

Reflection意思为反射,在.NET中,它是获取运行时类型信息的方式。一般来说,.NET的应用程序由三个部分组成,分别是程序集(Assembly)、模块(Module)、类型(class),而反射提供一种编程的方式,让程序员可以在程序运行期获得这三个组成部分的相关信息。

一、与反射有关的知识

1. System.Assembly

Assembly允许用户访问给定程序集的元数据,它也包含可以加载和执行程序集(程序集可执行的情况下)的方法。这个功能相当强大,可以轻易地取得组件内部所有信息,并且将其应用于映射的机制。常用的有LoadFrom()方法、GetType()方法等。Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。

2. System.Type

Type实际上是一个抽象的基类,它有与每种数据类型对应的派生类,但一般情况下派生类只提供各种Type方法和属性的不同重载,返回对应数据类型的正确数据。它的大多数方法都是用于获取对应数据类型的成员信息,比如:构造函数、属性、方法和事件等,并且能够进行调用。常用的有GetMethod()方法、GetField()方法、GetProperty()方法等。

3. 动态调用方法

方法动态调用是指在执行期利用映射取得的类型方法成员进行动态调用,通过调用实例的Invoke()方法来实现。Invoke方法用以进行方法的动态调用,其一般的定义形式如下:

Invoke(object obj, object[] parameters)

第一个为object类型参数,这个参数对象本身所参考的对象,为所要调用的方法其本身所属的来源对象,而第二个数组对象parameters则是调用指定方法所需的参数集合,若是调用的方法不需传入参数,这个对象数组会参考至一个null值。

  推荐精品文章

·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录
·2023年4月目录 
·2023年3月目录 
·2023年2月目录 
·2023年1月目录 
·2022年12月目录 
·2022年11月目录 
·2022年10月目录 
·2022年9月目录 
·2022年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089