动态调用DLL中的方法

2024-03-24

我有一个包含一些方法(显示、隐藏和验证)的 DLL。这是其中一种方法的示例hide(Panel paneldynamic, String id, List<EventActions> eventList)。所有方法都包含相同的参数。

现在我已经在主窗体上引用了 DLL,如何在运行时动态调用其中一个方法?


您需要使用反射。首先,加载程序集(请注意,这假设您已导入System.Reflection):

Assembly a = Assembly.LoadFile(pathToTheDll);

通过完全限定名称获取包含方法的类型:

Type t = a.GetType("Some.Class");

现在,获取方法:

MethodInfo m = t.GetMethod("hide"); // For example

然后,您所要做的就是调用它:

m.Invoke(null, new object[] { /* parameters go here */ });

第一个参数Invoke是实例。如果你的班级是static, use null,否则,您需要提供使用创建的类型的实例Assembly.CreateInstance.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态调用DLL中的方法 的相关文章

随机推荐

  • 给定项目句柄,获取 Canvas 小部件上项目的当前坐标?

    通过阅读文档 http effbot org tkinterbook canvas htm reference http effbot org tkinterbook canvas htm reference 在我看来没有办法做到这一点 只
  • 运行比内核数量更多的分区是否有意义?

    鉴于 Spark 任务数量不能高于核心数量 运行比核心数量更多的分区是否有意义 如果是这样 您能详细说明一下吗 正如您提到的 您需要至少 1 个任务 核心才能利用所有集群的资源 根据每个阶段 任务所需的处理类型 您可能会遇到处理 数据倾斜
  • 如何在单个 mysql 查询中连接多个关系表中的多个值

    我的 旅行优惠 项目有一个大问题 99 正常 但不是 100 我有一个包含报价的主表 其中每个报价可以设置多个部门城市以及多个目的地城市 这是减少列的减少样本 例如 我提供一些从英格兰出发的旅行 其中部门城市可以是伦敦 利兹和曼彻斯特 目的
  • Android 无法捕获 NullPointerException

    我的应用程序中有一个非常烦人的 NPE 但找不到解决方案 首先是堆栈跟踪 09 12 23 27 32 855 ERROR AndroidRuntime 19152 java lang NullPointerException 09 12
  • 为了确保数值稳定性,scipy.signal.deconvolve 的除数参数有哪些限制?

    这是我的问题 我将处理来自系统的数据 我将很好地了解该系统的脉冲响应 之前使用 Python 进行过一些基本脚本编写 我开始了解 scipy signal convolve 和 scipy signal deconvolve 函数 为了对我
  • 哲学家就餐实施[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我只是想知道这是否可以解决java中的哲学家就餐问题 import java util concurrent locks Lock import ja
  • Scala self 类型和集合中的 this.type 问题

    我试图理解 scala 中抽象和显式的自我类型 让我们考虑这个例子 我想为可扩展树创建一个基础 就像这样简单 trait Tree def children Iterable Tree def descendants Iterable Tr
  • 如何在 Fluent NHibernate 中将“级联删除”选项设置为“设置空”?

    我是 Fluent nHibernate 的新手 想知道 如果我有两个类 Profile 和 Email 一对多映射 如下所示 我想流畅地定义一个 nHibernate 映射 这样当 Profile 被删除时 Email 将保留在DB 键设
  • 从 Android 加速度计获取倾斜角度

    我有一个实现的类SensorEventListener我想得到 这tilt Angle我的设备使用Accelerometer 我在互联网上寻找示例 但他们使用Sensor TYPE MAGNETIC FIELD 我相信我的设备没有这个传感器
  • 我解释 DI 和 IoC 的方式有什么问题?

    昨天在一次采访中我被问到春季的 DI 和 IoC 是什么 我的回复是 when a class A 延伸摘要class B 或实施interface B 或创建一个对象class B 其中任何一个类 那么A据说是 依赖于B 注入这个依赖关系
  • winforms:使用parallel.foreach更新进度

    我没有看到任何与我的问题相关的帖子 因此 如果我发布已经提出的问题 我深表歉意 我有一个 Windows 窗体程序 C 用于检查股票并进行分析 主窗体通过新线程和 ShowDialog 启动另一个窗体 当它加载时 它正在运行parallel
  • Spring ThreadPoolTask​​Executor 的工作原理

    我一直在阅读 Spring 的 ThreadPoolTask Executor 的设置如何协同工作以及线程池和队列如何工作 This https stackoverflow com a 43874563 10727434stackoverf
  • 如何在 swift 中向我的 cocoa 应用程序添加设置?

    我对 Swift 编程还很陌生 我想知道是否有一种简单的方法可以在 Swift 中向我的 Cocoa 应用程序添加设置 首选项 如果可能的话 我想要一份分步指南 我主要想知道如何将用户的首选项存储在磁盘和代码部分上 在我当前的代码中 它将需
  • .NET 多个类库合二为一

    我在VS2008中工作 我有一个自定义类库 CL1 它引用另一个自定义类库 CL2 最终我的发布文件夹中包含了 CL1 和 CL2 现在 CL1 的使用者需要在项目中包含两个 dll 我认为这是不合适的 我强烈地感觉到必须有一种方法来实现单
  • 在用户接受同意之前暂时禁用 Firebase 的所有服务

    我有一个实施了 Firebase 的应用程序 我想要的是在用户接受数据收集同意之前禁用与 Firebase 相关的所有内容 在 android 文档中 我看到 例如 我可以使用以下方法禁用 Firebase Analytics setAna
  • 该字段泄漏上下文对象

    我在非 Activity 中使用 Context 对象 它工作正常 但问题是它显示警告 That is where I am using the context object Here is the result of inspection
  • 如何在 JDBC url 中正确传递会话变量?

    我必须增加group concat max len 我无法通过preparestatement 做到这一点 而且我也无法在mysql my conf 文件中做到这一点 我在 mysql 文档中发现有一个选项可以在 url 中传递会话变量 但
  • Python argparse 字典 arg

    我想收到一个dict str gt str 来自命令行的参数 做argparse ArgumentParser提供吗 或者还有其他图书馆吗 对于命令行 program py dict d key key1 value val1 key ke
  • 为什么

    编辑 另请参阅下面我自己的答案 2016 例如 ul li class first a href title Home a li li a href title Chi siamo a ul li a href title item1 a
  • 动态调用DLL中的方法

    我有一个包含一些方法 显示 隐藏和验证 的 DLL 这是其中一种方法的示例hide Panel paneldynamic String id List