0

我有从本机 dll 导出的不同类。导出的类继承自多个纯抽象类(接口)。dll 的不同之处在于它们导出的具体类可能继承自不同的抽象类。本机 dll 使用 C++/CLI 包装器中的 LoadLibrary 动态加载。有没有办法可以在dll中公开具体本机类的类层次结构(继承关系)。这样我就可以将该类用作.NET 中的不同接口。

本机接口

class PrimaryAbstractClass
{
  virtual void PrimaryMethod() = 0;
};

class SecondaryAbstractClass1
{
  virtual void Method1() = 0;
};

class SecondaryAbstractClass2
{
  virtual void Method2() = 0;
};

DLL 1

class ConcreteClass1: public PrimaryAbstractClass, public SecondaryAbstractClass1
{
  virtual void PrimaryMethod();
  virtual void Method1();
};

DLL 2

class ConcreteClass2: public PrimaryAbstractClass, public SecondaryAbstractClass2
{
  virtual void PrimaryMethod();
  virtual void Method2();
};

预期的 C# 用法(伪代码)

PrimaryAbstractClassWrapper pacw = new Dll1.PrimaryAbstractClassWrapper();
((SecondaryAbstractClass2)pacw).Method2();
4

0 回答 0