A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© brucel50 中级黑马   /  2013-9-6 14:53  /  1271 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//声明一个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();

2 个回复

倒序浏览
需要转播
回复 使用道具 举报
转播一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马