黑马程序员技术交流社区

标题: 反射知识点总结1 [打印本页]

作者: brucel50    时间: 2013-9-6 14:53
标题: 反射知识点总结1
//声明一个Assembly类的实例,通过其静态方法LoadFile(传入一个绝对路径,是程序集的路径(什么是程序集?))
Assemblyasm=Assembly.LoadFile(@"F:\Documents\code\DotNet复习\2013年9月10日入学前总复习\51反射\bin\Debug\52Class.dll");
//Assembly类的对象有一个GetTypes()的方法,可以获得这个程序集的所有类型
Type[]typeArray1=asm.GetExportedTypes();
//Assembly类的对象有一个GetTypes()的方法,可以获得这个程序集的所有类型,需要传入完全限定类名
TypetypeClass1=asm.GetType("_52Class.Class1");
/*TypetypeClass2=asm.GetType(typeArray1[1].Name);*/
//Assembly类的对象有一个GetMethods()方法,和GetMethod()方法,返回类型是MethodInfo[]和MethodInfo
MethodInfo[]miA1=typeClass1.GetMethods();
MethodInfomi1=typeClass1.GetMethod(miA1[0].Name);
MethodInfomi2=typeClass1.GetMethod(miA1[1].Name);
//MethodInfo类的对象有一个Invoke()方法,就是调用的效果,这个Invoke()方法有两个参数,第一个是实例化的对象,newObject(),
//另一个,如果没有参数,就传入null
miA1[0].Invoke(null,null);
objectobj1=Activator.CreateInstance(typeClass1);
miA1[1].Invoke(obj1,null);
//Console.ReadKey();
inti=16;
intj=2;
doubled1=(double)(i>>j);
//d1=i/2^j;
Console.WriteLine(d1);
Console.ReadKey();

作者: 张荣耀    时间: 2013-9-25 22:38
需要转播
作者: 张荣耀    时间: 2013-9-25 22:44
转播一下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2