废话不多说,直接上代码。
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[]对象名) ;
下面就可以进行自己想做的操作了。比如:类型转换啊、方法调用啊、属性取值赋值,以上内容乃学习心得,有什么不对的地方还请谅解,多多指正!