// 反射动态读取 dll
// Assembly assembly = Assembly.LoadFile(); 路径
// Assembly assembly = Assembly.LoadFrom(); // 全名称
// Assembly assembly = Assembly.Load(); // dll 名称不用加上后缀

  // 反射动态读取 dll
// Assembly assembly = Assembly.LoadFile(); 路径
var path = @"C:\Users\朱龙旭\Desktop\WebApplication1\WebApplication1\bin\Debug\net6.0\WebApplication1.dll";
Assembly assembly = Assembly.LoadFile(path); // 全名称
// Assembly assembly = Assembly.Load(); // dll 名称不用加上后缀
foreach(Type type in assembly.GetTypes())
{
// Console.WriteLine("type类型", type);
// Console.WriteLine(type.FullName);
Console.WriteLine("================方法===============");
// 方法
foreach (var method in type.GetMethods())
{
// Console.WriteLine(method);
}
Console.WriteLine("================字段===============");
// 字段
foreach (var filed in type.GetFields())
{
// Console.WriteLine(filed);
}
}
// 获取某个具体的类型 参数是类的全名称
Type type1 = assembly.GetType("WebApplication1.Controllers.SystemApi.UserController");
Console.WriteLine("获取某个具体的类型(类)通过命名空间+类名");
Console.WriteLine(type1); // 获取到了类 然后通过type 创建对象
object? o = Activator.CreateInstance(type1); // 总结 通过反射 dll 可以获取项目的所有方法和字段属性等

动态去读 dll 文件的更多相关文章

  1. [转]静态库、动态库,dll文件、lib文件,隐式链接、显式链接

    转自:https://blog.csdn.net/dcrmg/article/details/53427181 静态链接.动态链接 静态库和动态库分别应用在静态链接方式和动态链接方式中,所谓静态链接方 ...

  2. 静态库、动态库,dll文件、lib文件,隐式链接、显式链接浅见

    静态链接.动态链接 静态库和动态库分别应用在静态链接方式和动态链接方式中,所谓静态链接方式是指在程序执行之前完成所有的链接工作,把静态库一起打包合入,生成一个可执行的目标文件(EXE文件).所谓动态链 ...

  3. c#动态加载dll文件

    1.在写一个记录日志到文件中的类库(生成dll文件copy到一个目录中去,然后在主函数的appconfig中去配置. using System; using System.Collections.Ge ...

  4. 检测dll是32/64位?(直接读dll文件包含的某几个字节进行判断)

    检查dll是32位还是64位? #include "stdafx.h" #include <Windows.h> int _tmain(int argc, _TCHAR ...

  5. c# 如何进行动态加载dll

    最近遇到了在c#中如何进行动态加载dll的话,搞定了,下面介绍一下自己的步骤. 1,新建dll. 打开vs,新建project->Class Library->项目名为testdll1.在 ...

  6. 第五篇--VS2017如何生成Dll文件

    参考资料: https://blog.csdn.net/qq_34097715/article/details/79540933 https://www.cnblogs.com/RascallySna ...

  7. ATL com的dll文件与tlb文件

    一..tlb文件: 只有COM组件才有tlb文件,普通dll文件没有. 包含内容: 1.它包含了COM类和接口的GUID值,接口的函数声明信息,并不是接口的实现文件.相当于类和接口的头文件. tlb文 ...

  8. C/C++ 关于生成静态库(lib)/动态库(dll)文件如何使用(基于windows基础篇)

    1. 首先,如何制作一个静态库(lib)? 额, 对于静态库,我们知道,里头是不应该有Main函数,它只是一个配合文件.之所以称之为lib静态库,其实就是指,我们需要用到lib里头的函数时,我们才会去 ...

  9. C#直接使用DllImport调用C/C++动态库(dll文件)

    1.C/C++动态库的编写 下面是我编写的一个比较简单的C++dll文件用来测试,关于如何编写dll文件,我这里便不再赘述,不懂得自行查询, (1).h文件 #ifdef MYDLL_EXPORTS ...

  10. Java之——Web项目中DLL文件动态加载方法

    本文转自:https://blog.csdn.net/l1028386804/article/details/53903557 在Java Web项目中,我们经常会用到通过JNI调用dll动态库文件来 ...

随机推荐

  1. CentOS安装RustDesk自建服务器

    一.安装node.js 1.下载并解压 [root@VM-8-2-centos src]# cd /usr/local # 下载node文件 [root@VM-8-2-centos local]# w ...

  2. 【SQL】 牛客网SQL训练Part1 简单难度

    地址位置: https://www.nowcoder.com/exam/oj?difficulty=2 查找入职员工时间排名倒数第三的员工所有信息 -- 准备脚本 drop table if exis ...

  3. 【MySQL】主从配置

    一主一从(或二从)部署: 参考博客: https://www.cnblogs.com/lelehellow/p/9633315.html 正好借着3台机器,可以做一个 1主 2从的分配 192.168 ...

  4. 【Mybatis】14 缓存

    1.什么是缓存? - 缓存是指把经常需要读写的数据,保存到一个高速的缓冲区中,这个行为叫缓存 - 也可以是指被保存在高速缓冲区的数据,也叫缓存 2.Mybatis缓存 Mybatis中分为一级缓存和二 ...

  5. 【SpringBoot】Re 02 Import与自定义装配实现

    Import的注册形式: 1.使用@Import导入一个或者多个类字节对象 @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME ...

  6. 数值优化算法-BFGS

    参考: https://www.cnblogs.com/Leo_wl/p/3367323.html 牛顿法: 使用牛顿法优化函数 f(θ) 最小值时,每次计算获得新的\(θ\)值,即\(θ_{k+1} ...

  7. 如何配置docker pull代理

    参考: https://blog.csdn.net/vic_qxz/article/details/130061661 经过验证确实有效.

  8. 在进行神经网络训练时需要使用的显存空间大小的预估——300MB的神经网络在训练时最少需要占用多大的显存空间

    以Tensorflow为例. ======================================= 神经网络(TensorFlow举例)在GPU中训练时需要占用的内存大概有下面几部分组成: ...

  9. 面向分布式强化学习的经验回放框架——Reverb: A Framework for Experience Replay

    论文题目: Reverb: A Framework for Experience Replay 地址: https://arxiv.org/pdf/2102.04736.pdf 框架代码地址: htt ...

  10. VUE learn

    Vue .js 的官方文档中是这样介绍它的. 简单小巧的核心,渐进式技术拢,足以应付任何规模的应用. 简单小巧是指 vue.js 压缩后大小仅有 17k .所谓渐进式(Progressive ),就是 ...