繁体   English   中英

在C#中从DLL加载特定类

[英]Load a Specific class from dll in C#

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

我有以下dll文件。

DLL 1:

命名空间:

  • 1类
  • 2级

DLL 2:

命名空间:

  • 2级
  • 3级

如上面的示例所示,我有2个甚至更多个具有相同类的dll是有可能发生的。 (请注意,名称空间相同)

现在我想到了以下几点:

  • 在Temp AppDomain中打开一个dll
  • 检查我们不知道的课程
  • 将所需的类移至标准Appdomain
  • 卸载临时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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM