我们通常 都是用反射来操作指定的程序集(dll,exe)、
需要引用
System.Reflection
有三种加载方式
Assembly assembly = Assembly.Load("ReflectionBLL");//dll的强名称(包括名称,版本,语言,公钥标记),比如(System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089),当然也可以只用名称(弱名称),能在程序集上应用安全和部署策略,一般情况下都应该优先使用这个方法,要求文件必须在项目下 //Assembly assembly = Assembly.LoadFile(@"E:\Liuyi\YiJia\Project\Code\ReflectionProject\ReflectionProject\bin\Debug\ReflectionBLL.dll");//加载指定文件位置的dll,注意不会加载dll的依赖程序集 //Assembly assembly = Assembly.LoadFrom("ReflectionBLL.dll");//同上,但是会加载依赖项
一般都是用Load。
遍历输出程序集下面的类,和方法的名称。
foreach (var type in assembly.GetTypes()) { Console.WriteLine(type.FullName);//程序集下面的类 foreach (var method in type.GetMethods()) { Console.WriteLine(method.Name);//类下面的方法 } }
标签:反射,ReflectionBLL,assembly,dll,Assembly,DLL,type,加载 From: https://www.cnblogs.com/luyShare/p/16994309.html