废话不多说,直接上代码。

1、typeof(类名):它是一个运算符

eg_1:Type type = typeof(int) ;

eg_2:public class Student

{

Type type = typeof(Student) ;

...................................................

}

2、object.GetType(类的完全限定名):它是一个方法

object 是具体实例时

eg:int iNumber=3 ; Type type =  iNumber.GetType() ;  这个GetType是object对象中的无参实例方法

 

object 是Type抽象类时

eg:Type type = Type.GetType() ; 这个GetType是System.Type抽象类的静态方法,有5个重载(即:共有6个方法,注意:还有一个GetTyp无参实例方法

 

 他们都有一个共同点,就是返回类型都是Type。

进入主题【反射】:

我知道的反射有两种:

第一种:object objAss = System.Reflection.Assembly.Load("装配件的名称").CreateInstance("要调用类的完全限定名") ;

第二种:object objAct = System.Activator.CreateInstance() ;

他有14个重载,我暂时只研究了两个:

1、无参构造函数:object objAct = System.Activator.CreateInstance(Type类型对象名) ;

2、有参构造函数:object objAct = System.Activator.CreateInstance(Type类型对象名,string[]对象名) ;

下面就可以进行自己想做的操作了。比如:类型转换啊、方法调用啊、属性取值赋值,以上内容乃学习心得,有什么不对的地方还请谅解,多多指正!

 

posted on 2017-09-07 11:46  田坤坤  阅读(197)  评论(0编辑  收藏  举报