gpt4 book ai didi

c# - 从 C# 中的 dll 加载特定类

转载 作者:太空宇宙 更新时间:2023-11-03 14:45:10 24 4
gpt4 key购买 nike

我只想从给定的 dll 中加载一些类。问题如下:

我有以下dll文件。

Dll 1:

命名空间:

  • 1 级
  • 2 级

Dll 2:

命名空间:

  • 2 级
  • 3 级

如上例所示,我有可能并且很可能有 2 个或什至更多的 dll 包含相同的类。 (注意命名空间是一样的)

现在我想到了以下几点:

  • 在 Temp AppDomain 中打开一个 dll
  • 检查我们不知道哪些类
  • 将需要的类移动到标准 Appdomain
  • 卸载临时应用域

有什么办法可以做到这一点吗?

最佳答案

您有两个不同的 dll 文件。所以您可以将两个不同的 dll 文件导入到您的 C# 项目中。例如,第一个 dll 文件的名称是“File1”,第二个 dll 文件的名称是“File2”

const string file1_Dll_Path = @"File1.dll";
const string file2_DllPath = @"File2.dll";
[DllImport(file2_DllPath, CallingConvention = CallingConvention.Cdecl)]
public static extern int YOURFUNCTIONINFILE2DLL();
[DllImport(file1_Dll_Path, CallingConvention = CallingConvention.Cdecl)]
public static extern void YOURFUNCTIONINFILE1DLL();

注意:不要忘记添加“不安全”的 C# 窗体。像这样

unsafe public partial class FORMNAME : Form

关于c# - 从 C# 中的 dll 加载特定类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54632701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com