C#如何通过反射获取外部dll的函数

在C#中,你可以使用反射(Reflection)来加载外部的DLL(动态链接库)并获取其中的函数(在C#中通常称为方法)。但是,请注意,反射主要用于访问类型信息,并且对于非托管代码(如C/C++编写的DLL)中的函数,你通常需要P/Invoke(平台调用服务)或C++/CLI包装器。然而,如果DLL是用C#或兼容的.NET语言编写的,那么你可以直接使用反射。

以下是一个使用反射加载.NET DLL并获取其中方法的示例:

using System;  
using System.Reflection;  
  
class Program  
{  
    static void Main()  
    {  
        // 加载DLL(假设DLL与你的执行程序在同一目录下)  
        Assembly assembly = Assembly.LoadFrom("YourLibrary.dll"); // 替换为你的DLL路径  
  
        // 获取DLL中的类型(假设你知道要查找的类型的名称)  
        Type type = assembly.GetType("YourNamespace.YourClassName"); // 替换为你的命名空间和类名  
  
        // 获取类型中的方法(假设你知道要查找的方法的名称)  
        MethodInfo methodInfo = type.GetMethod("YourMethodName"); // 替换为你的方法名  
  
        // 假设你的方法是无参数的静态方法,并且你想调用它  
    

相关推荐

  1. C#如何通过反射获取外部dll函数

    2024-05-14 17:22:07       12 阅读
  2. c#通过反射完成对象自动映射

    2024-05-14 17:22:07       22 阅读
  3. C#动态调用C++DLL函数

    2024-05-14 17:22:07       37 阅读
  4. C++封装(十二):外部构造函数

    2024-05-14 17:22:07       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 17:22:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 17:22:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 17:22:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 17:22:07       18 阅读

热门阅读

  1. 力扣阶段练习(1).消失的数字

    2024-05-14 17:22:07       13 阅读
  2. 通过vue2来类比学习vue3

    2024-05-14 17:22:07       11 阅读
  3. Python 自动化脚本系列:第4集

    2024-05-14 17:22:07       10 阅读
  4. DOTCPP题目 2782: 整数大小比较

    2024-05-14 17:22:07       10 阅读
  5. vue2响应式和vue3响应式

    2024-05-14 17:22:07       10 阅读
  6. [Python]锁

    2024-05-14 17:22:07       11 阅读
  7. spring boot 线程池的应用

    2024-05-14 17:22:07       14 阅读
  8. 基因专利的得与失

    2024-05-14 17:22:07       9 阅读
  9. Edge的使用心得与深度探索

    2024-05-14 17:22:07       13 阅读
  10. 下拉多选【bootstrap-multiselect】

    2024-05-14 17:22:07       11 阅读