C#如何实现动态加载DLL文件

作者:佚名 上传时间:2023-05-19 运行软件:Visual Studio 2019 软件版本:.NET Framework 4.8 版权申诉

本示例介绍了C#中如何动态加载DLL文件,同时提供了加载和调用DLL中方法的完整示例代码

using System.Reflection;

// 定义接口
public interface ICalculation
{
    int Add(int x, int y);
}

// 加载DLL文件并实现接口
public static class CalculationLoader
{
    public static ICalculation Load(string path)
    {
        Assembly assembly = Assembly.LoadFrom(path);
        Type[] types = assembly.GetTypes();

        foreach (Type type in types)
        {
            if (typeof(ICalculation).IsAssignableFrom(type))
            {
                return (ICalculation)Activator.CreateInstance(type);
            }
        }

        return null;
    }
}

// 调用接口方法
ICalculation calculation = CalculationLoader.Load(@"C:\MyCalculation.dll");
int result = calculation.Add(1, 2);
Console.WriteLine($"结果为:{result}");

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
C#DLL
本示例介绍了C#中如何动态加载DLL文件,同时提供了加载和调用DLL中方法的完整示例代码using System.Reflection;// 定义接口public interface ICal
.NET Framework 4.8
Visual Studio 2019
2023-05-19 14:53
c#Dll
原文: c#实现动态加载Dll 原理如下: 1、利用反射进行动态加载和调用. Assembly assembly=Ass
C#动态加载DLL主要说明如何通过反射实现动态加载DLL
/*主要说明如何通过反射实现动态加载DLL,*因为.Net底层有自动回收机制,所以不需要考虑这个问题*ADDbyBrian2008/01/21参考MSDN*/
DOC
0B
2019-07-08 13:27
C#动态加载dll
C#动态加载dll文件是件很麻烦的事,在网上找的代码,做成了类文件,方便以后使用
CS
0B
2020-05-14 22:49
c# 实现动态加载c++dll动态
c# 实现动态加载c++ dll 动态库 本示例提供动态加载 卸载c++ dll动态库 所用工具 : visual studio ; 系统:Windows
CS
12KB
2020-08-19 04:21
C#中和卸DLL
原文: C#中动态加载和卸载DLL 在C++中 加载和卸载DLL 是一件很容易的事,LoadLibrary和FreeLibr
C#实现动态加载dll的方法
主要介绍了C#实现动态加载dll的方法,涉及针对动态链接库的灵活操作技巧,具有一定的参考借鉴价值,需要的朋友可以参考下
PDF
32KB
2020-12-30 19:24
c++编译dll文件如何加载动态dll
c++vs2013一个简单的如何编译成dll文件及共其他程序使用的例子,本例子使用编写数学简单运算为例子,希望对初学者起到学习的效果
RAR
0B
2019-05-15 07:00
C#实现反射调用动态加载DLL文件中的方法
反射的作用: 1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射。
DOC
17KB
2020-12-17 18:28
c# 动态加载dll文件实现调用其中的方法推荐
下面小编就为大家带来一篇c# 动态加载dll文件,并实现调用其中的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
PDF
47KB
2020-09-21 03:03