从外部程序集中动态加载类型

2024-03-03

在托管代码中,假设调用代码没有对该程序集的静态引用,如何在运行时从另一个程序集加载托管类型?

为了澄清起见,假设我将 Lib.cs 中的类 Lib 编译为 Lib.dll。我想在一个名为 Foo.dll 的单独程序集中编写一个类 Foo,它没有静态引用 Lib.dll,而是加载 Lib.dll,然后反映类 Lib 是否存在,然后调用一个方法在上面。

很抱歉提出这样一个关于反射的明显问题。我认为在论坛上获得答案所需的时间比阅读几篇文章要少得多。


这是一个简短的片段:

Assembly assembly = Assembly.LoadFile("Lib.dll");
ILib lib = (ILib)assembly.CreateInstance("Lib");
lib.doSomething();

当然,Lib 类必须实现 ILib 接口,该接口必须可以从 Foo.dll 和 Lib.dll 访问。这样你就实现了抽象。

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

从外部程序集中动态加载类型 的相关文章

  • 在 LINQ 查询中进行转换

    是否可以在 LINQ 查询中进行强制转换 为了编译器的缘故 下面的代码并不糟糕 但最好将其放入一个查询中 Content content dataStore RootControl as Controls Content List
  • 未找到 DEADLINE 调度策略

    我想在 C 中实现 DEADLINE 调度策略 我知道该功能已实现Linux 3 14 10我正在使用 Ubuntu 14 04Linux 3 17 0 031700 lowlatency 201410060605 SMP PREEMPT这
  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 如何在 Scala 用户定义注释中使用命名参数?

    在下面的代码中 我能够获得第一个注释对象 Publishable 但不能获得第二个 第二个使用命名参数 它转换为 x 2 x 3 x 1 作为 AST 中的参数 我该如何正确地做到这一点 class Publishable val path
  • 维护 VS Test Project 中单元测试方法之间的上下文

    我想按顺序运行以下单元测试 使用随机数字的名称 密码等创建新客户 检索刚刚创建的客户并断言其属性包含相同的随机数 对同一用户调用 ForgotPassword 函数 并使用相同的随机数作为用户名 清楚地看到 我需要生成一次随机数 并在 3
  • 如何在 C 中链接目标文件?失败并显示“架构 x86_64 的未定义符号”

    因此 我尝试在我的文件 file2 c 中使用另一个 C file1 c 文件中定义的函数 为了做到这一点 我包含了 file1 file1 h 的标头 但是 每当我尝试使用 gcc 编译文件时 我都会收到以下错误 Undefined sy
  • X 轴和 Z 轴上的 Quaternion.Slerp,无 Y 轴

    I am trying to rotate the Player about X Y and Z axis The Y axis should not move from last angle Example if I rotate 45
  • ASP.NET - Crystal Report Viewer 打印按钮在 ASP.NET 中不起作用

    我正在使用 Visual Studio 2008 但我遇到了水晶报告问题 当我单击打印按钮时 它会将我带到弹出窗口 但未找到页面 弹出的网址是 http localhost aspnet client System Web 2 0 5072
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 为什么这个位图图像在加载后会改变大小?

    快速提问 我有这个1000 1000位图图像 我使用这个例程来加载它 private BitmapSource initialBitmap new BitmapImage new Uri C Users Desktop Original b
  • 如何在VS2005中使用从.bat而不是.exe启动的外部程序进行调试?

    在我的 c 项目的调试属性中 我选择了 启动外部程序 并选择了我希望将调试器附加到的程序的 exe 但是 现在我需要从 bat 文件而不是 exe 启动程序 但 VS2005 似乎不允许这样做 这可能吗 编辑 为了澄清 我需要调试从 bat
  • C++网络序列化[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种将 C 数据包序列化为网络流的解决方案 我在这里看到很多帖子提到人们 ACE 谷歌协议缓
  • 使用未命名命名空间而不是静态命名空间

    我可以假设在未命名命名空间中声明的对象相当于static namespace int x 1 static int x 2 FWIK 在这两种情况下 x将具有静态存储期限和内部链接 声明为的对象的所有规则也是如此static适用于未命名名称
  • c++ - <未解析的重载函数类型>

    在我的班级里叫Mat 我想要一个将另一个函数作为参数的函数 现在我有下面 4 个函数 但是在调用 print 时出现错误 第二行给了我一个错误 但我不明白为什么 因为第一行有效 唯一的区别是功能f不是班级成员Mat but f2是 失败的是
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • 为什么存在系统调用

    我一直在阅读有关系统调用及其在 Linux 中如何工作的内容 我还有更多的阅读要做 但我读过的一件事都没有回答 那就是 为什么我们需要系统调用 我知道系统调用是用户空间程序要求内核执行某些操作的请求 但我的问题基本上是 为什么用户空间程序本
  • 如何配置 qt Creator 以显示 C++ 代码而不是反汇编程序?

    昨天我做了很多事情 比如更新 GCC Clang 和重新安装 Qt Creator 今天 在逐步调试我的代码时 调试器显示的是反汇编代码 而不是我编写的 C 代码 紧迫F10 or F11 调试器正在进入汇编代码而不是 cpp nor h我
  • java有类似C#的属性吗? [复制]

    这个问题在这里已经有答案了 C 属性 我的意思是 get 和 set 方法 是一个非常有用的功能 java 也有类似 C 的属性吗 我的意思是我们如何在 java 中实现类似以下 C 代码的内容 public string Name get
  • 稀疏矩阵超定线性方程组c/c++库

    我需要一个库来解决 Ax b 系统 其中 A 是一个非对称稀疏矩阵 每行有 8 个条目 而且可能很大 我认为实现双共轭梯度的库应该没问题 但我找不到一个有效的库 我尝试过 iml 但 iml sparselib 包中缺少一些标头 有小费吗
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que

随机推荐

  • 如何获取iframe的scrollTop

    当window是iframe时 jQuery的scrollTop返回null 有谁能弄清楚如何获取 iframe 的scrollTop 吗 更多信息 我的脚本在 iframe 本身中运行 父窗口位于另一个域中 因此我无法访问 iframe
  • 将多个/不同的 MongoTemplate 与相同的 Repository 类一起使用

    我有三个不同的 mongo 数据库 相同架构 的集合 所以我为此创建了一个存储库 但是我是否可以使用不同的 mongoTemplates 一个用于三个不同的数据库 但使用相同的存储库类 我可以创建三个不同的存储库类 每个数据库一个 但我不想
  • 批处理模式下 Kafka headers 作为列表

    我试图在以批处理模式消费消息的同时访问一些标头 如果我设置监听器来处理Message data Acknowledgment ack throws SQLException for int i 0 i lt data size Object
  • React - 错误:尝试运行 npm start 时找不到模块 React

    我在尝试为 React 应用程序运行 npm start 时遇到了一个错误 我的应用程序在开发过程中基本上按照我的预期运行 但是我遇到了一个错误 需要我更新我的节点版本作为潜在的修复 我将 node 更新到 v16 13 2 并且还决定将
  • JQuery 自动完成。如果找不到项目,显示“按 Enter 键插入自动完成”?

    我正在做一种标签自动完成组合 因此 基本上 当用户输入没有自动完成选项的查询 即 aaa 时 我希望自动完成下拉并显示 按 Enter 为 aaa 创建标签 我在文档中找不到任何内容 我想这需要我进行一些黑客攻击 但在这样做之前 我想看看是
  • C# 相当于 Java 的 Exception.printStackTrace()?

    C 是否有与 Java 等效的方法Exception printStackTrace 或者我必须自己写一些东西 通过 InnerExceptions 来解决 尝试这个 Console WriteLine ex ToString From h
  • css api 的 jquery if else 条件

    我有下面的 jquery 语句 this span section1 css background url images accordion closed left png no repeat scroll 0 0 transparent
  • WPF 从 DataTrigger 调用方法

    是否可以使用通配符或调用方法来确定是否应应用 DataTrigger 我目前将 DataList 绑定到包含文件名的 IEnumerable 并且如果文件扩展名以 old 开头 我希望文件名显示为灰色 我的非工作梦想 xaml 标记看起来像
  • 返回内置类型的常量值[重复]

    这个问题在这里已经有答案了 为内置类型返回 const 值是一个好的习惯吗 原因是 const int F int y F x y 如果返回值是const 上面的代码将无法编译 然而 如果不是的话F x y 是一个非常隐蔽的错误 由于为函数
  • UserType / Hibernate / JodaTime - 在哪里设置 UserType 全局属性?

    我正在使用org jadira usertype dateandtime joda PersistentDateTimeUserType 3 0 0 RC1 中的类来映射 JodaTimeDateTime进入休眠状态 Java文档 http
  • 为什么 Collections.Frequency 在转换后的列表上无法按预期工作?

    我过去使用过 Collections Frequency 它工作得很好 但现在我使用 int 时遇到了问题 基本上 Collections Frequency 需要一个数组 但我的数据采用 int 的形式 所以我转换了我的列表 但没有得到结
  • 如何将 Bootstrap CDN 添加到我的 WordPress

    我想在我的 Wordpress 中使用 Bootstrap 框架 如何在functions php 中编辑 我找到一个地方告诉这样的代码 function enqueue my scripts wp enqueue script jquer
  • 带有 Spring-boot 后端的 Flutter websocket

    好吧 Flutter 在食谱中有 WebSocket 配方 here https flutter dev docs cookbook networking web sockets 这对于 websocket org 测试服务器非常有效 问题
  • WPF - 更改隐藏代码中的样式

    我有一个显示 TFS 查询结果的列表框 我想更改后面代码中 ListBoxItem 的样式 以使查询结果中包含列 ListBox 项的样式在我的 Windows Resources 部分中定义 我已经尝试过这个 public T GetQu
  • Nginx 不区分大小写 proxy_pass

    我有一个网站叫http example com 正在运行一个可以通过以下位置访问的应用程序http example com app1 app1 位于 nginx 反向代理后面 如下所示 location app1 proxy pass ht
  • BeautifulSoup 返回意外的额外空格

    我正在尝试使用 BeautifulSoup 从 html 文档中获取一些文本 在一个对我来说非常相关的案例中 它产生了一个奇怪而有趣的结果 在某一点之后 汤在文本中充满了额外的空格 空格将每个字母与下一个字母分开 我试图在网络上搜索以找到原
  • 识别何时使用模运算符

    我知道modulus http en wikipedia org wiki Modulo operation 运算符计算除法的余数 如何确定需要使用模运算符的情况 我知道我可以使用模运算符来查看数字是偶数还是奇数 素数还是合数 但仅此而已
  • 使用 Pandas 时明显缺少 dateutil.tz 包?

    我的python 2 7代码如下 import pandas as pd from pandas import DataFrame DF rando DataFrame 1 2 3 然后当我执行时 我收到一个奇怪的错误dateutil tz
  • 如何将通用 JavaScript 对象序列化为 XML

    主流 JavaScript 库 YUI jQuery Dojo 之一是否提供了将 JavaScript 对象序列化为 XML 作为文本 的方法 有no用于本机对象到 XML 序列化的本机 API 然而 有一些 3rd 方库 比如这个 它会输
  • 从外部程序集中动态加载类型

    在托管代码中 假设调用代码没有对该程序集的静态引用 如何在运行时从另一个程序集加载托管类型 为了澄清起见 假设我将 Lib cs 中的类 Lib 编译为 Lib dll 我想在一个名为 Foo dll 的单独程序集中编写一个类 Foo 它没