程序集工具-DLLUtil
# 简介
提供了各种用于加载、创建、调用和管理 DLL 程序集的方法。主要功能包括:
- 加载 DLL 程序集,并获取程序集中的类型信息。
- 根据类型名称创建实例,并调用实例的方法。
- 获取程序集中所有的类型信息,并判断指定类型是否实现了指定的接口。
- 从指定目录中加载所有的 DLL 文件,并返回一个 Assembly[] 数组。
- 提供了异常处理机制,避免因加载或调用 DLL 程序集而引发的异常导致应用程序崩溃。
各个方法的说明:
LoadAssembly
: 根据文件路径加载 DLL 程序集,并返回一个 Assembly 对象。GetTypeFromAssembly
: 根据类型名称从程序集中获取 Type 对象。CreateInstance
: 创建指定类型的实例,并返回一个 Object 对象。CreateInstanceFromAssembly
: 根据类型名称创建实例,并返回一个 Object 对象。InvokeMethod
: 调用对象的方法,并返回调用结果。GetAllTypesFromAssembly
: 获取程序集中所有的类型信息。IsImplementInterface
: 判断指定类型是否实现了指定的接口。LoadAllDllsFromDirectory
: 从指定目录中加载所有的 DLL 文件,并返回一个 Assembly[] 数组。
# EasyTool.DLLUtil 类
静态工具类 DLLUtil,是一个 C# 类加载工具,提供了多个方法用于加载 DLL 程序集、获取程序集中的类型信息、创建类型的实例、调用对象的方法等功能。使用该工具,可以轻松地加载 DLL 文件,并获取其中的类型信息,以及创建实例并调用方法等。同时,该工具还支持从指定目录中加载所有 DLL 文件,方便进行批量操作。这些功能可以方便地实现对 DLL 文件的管理和调用,同时也提高了开发效率。
# LoadAssembly-根据文件路径加载 DLL 程序集
/// <summary>
/// 根据文件路径加载 DLL 程序集,并返回一个 Assembly 对象
/// </summary>
/// <param name="dllFilePath">DLL 文件路径</param>
/// <returns>返回一个 Assembly 对象</returns>
public static Assembly LoadAssembly(string dllFilePath)
# GetTypeFromAssembly-根据类型名称从程序集中获取 Type 对象
/// <summary>
/// 根据类型名称从程序集中获取 Type 对象
/// </summary>
/// <param name="assembly">程序集</param>
/// <param name="typeName">类型名称</param>
/// <returns>返回 Type 对象</returns>
public static Type GetTypeFromAssembly(Assembly assembly, string typeName)
# CreateInstance-创建指定类型的实例,并返回一个 Object 对象
/// <summary>
/// 创建指定类型的实例,并返回一个 Object 对象
/// </summary>
/// <param name="type">要创建实例的类型</param>
/// <param name="parameters">实例化类型所需要的参数</param>
/// <returns>返回创建的实例对象</returns>
public static object CreateInstance(Type type, params object[] parameters)
# CreateInstanceFromAssembly-根据类型名称创建实例,并返回一个 Object 对象
/// <summary>
/// 根据类型名称创建实例,并返回一个 Object 对象
/// </summary>
/// <param name="assembly">程序集</param>
/// <param name="typeName">类型名称</param>
/// <param name="parameters">实例化类型所需要的参数</param>
/// <returns>返回创建的实例对象</returns>
public static object CreateInstanceFromAssembly(Assembly assembly, string typeName, params object[] parameters)
# InvokeMethod-调用对象的方法,并返回调用结果
/// <summary>
/// 调用对象的方法,并返回调用结果
/// </summary>
/// <param name="instance">要调用方法的对象</param>
/// <param name="methodName">方法名称</param>
/// <param name="parameters">方法所需要的参数</param>
/// <returns>返回调用结果</returns>
public static object InvokeMethod(object instance, string methodName, params object[] parameters)
# GetAllTypesFromAssembly-获取程序集中所有的类型信息
/// <summary>
/// 获取程序集中所有的类型信息
/// </summary>
/// <param name="assembly">程序集</param>
/// <returns>返回 Type[] 数组,数组中每个元素代表程序集中的一个类型</returns>
public static Type[] GetAllTypesFromAssembly(Assembly assembly)
# IsImplementInterface-判断指定类型是否实现了指定的接口
/// <summary>
/// 判断指定类型是否实现了指定的接口
/// </summary>
/// <param name="type">要判断的类型</param>
/// <param name="interfaceType">要判断的接口类型</param>
/// <returns>返回布尔值,表示指定类型是否实现了指定的接口</returns>
public static bool IsImplementInterface(Type type, Type interfaceType)
# LoadAllDllsFromDirectory-从指定目录中加载所有的 DLL 文件,并返回一个 Assembly[] 数组
/// <summary>
/// 从指定目录中加载所有的 DLL 文件,并返回一个 Assembly[] 数组
/// </summary>
/// <param name="directory">要加载 DLL 文件的目录</param>
/// <returns>返回一个 Assembly[] 数组,数组中每个元素代表一个 DLL 程序集</returns>
public static Assembly[] LoadAllDllsFromDirectory(string directory)
上次更新: 2023/04/26, 22:10:06