1.反射在.NET开发中用的很多,很多框架比如EF框架和MVC框架都会用到有反射的知识,它可以帮我们动态创建对象,动态赋值,动态调用方法。
2.首先在.net里面,每一个类都对应一个Type对象,每一个方法对应一个MethodInfo对象。
3.获取Type对象的方法有三种
namespace 反射
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person();
//方法1
Type t1=p1.GetType();
//方法2
Type t2 = typeof(Person);
//方法3
Type t3 = Type.GetType("反射.Person"); //命名空间.类名
}
public class Person
{
}
}
}
上面的三个对象都是同一个引用,因为一个类对应一个对象,通过获得的Type对象可以动态创建对象:Object obj = Activator.CreateInstance(t1); //相当于new Person(); Person类必须为public而且构造函数必须为无参数的
4.(继承关系)