首页 > 其他分享 >反射 1 加载指定的DLL

反射 1 加载指定的DLL

时间:2022-12-20 15:47:49浏览次数:33  
标签:反射 ReflectionBLL assembly dll Assembly DLL type 加载

我们通常 都是用反射来操作指定的程序集(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

相关文章