标签:
1.反射是基于Sytem.Type的,里面的很多方法是system.reflection里面的
MethodInfo[] tt= t.GetType().GetMethods(); //t是string的实例,获得string类型的所有方法,这里面的GetMethods有个BindingFlags枚举类型,写了很多 常用的需要的类
foreach (var item in tt) {
Console.WriteLine(item.ToString());
}
Console.ReadKey();
Assembly objAssembly = Assembly.Load("mscorlib,2.0.0.0.0,b77acu87d987asdf98"); //这里的token值是随便写的
Type[] types = objAssembly.GetTypes();
Assembly objAss = Assembly.GetExecutingAssembly();
Type t = objAss.GetType("Reflection.car", false, true);//第一个false表示找不到时不引发异常,第二个true表示忽略大小写查找
Car oo = (Car)Activator.CreateInstance(t); //根据制定的类型创建一个类的实例,因为不直到返回什么,所以covarince为object
MethodInfo mi = t.GetMethod("move"); //move是car类中的方法名
var ismove = (bool)mi.Invoke(oo, null); // 调用MethodInfo的方法Invoke,核实方法move是不是在类oo中
if (ismove) {
Console.WriteLine("is move ");
}
标签:
原文地址:http://www.cnblogs.com/weloveshare/p/5325718.html