0

我想知道是否需要在 assemblyA 和 assemblyB 之间共享公共库。需要实现的是在 assemblyB 代码中加载 assemblyA 并在加载(从对象)其中一种类型后将接口转换如下。我读到了一些条件,例如在每个程序集 A 和程序集 B 中定义的两个接口之间共享某种父类/接口。我们能否以某种方式实现完全解耦,而不必共享某种类型的公共库?

IInterfaceA
{
   string name {get; set;}
   int  age {get; set;}
   MethodA(int a);
   MethodB(int b);
}

在运行时引入 assemblyA 的当前代码如下所示:

var assembly = Assembly.LoadFrom(mainAssemblyName);
var type = assembly.GetTypes().Single(type => type.Name.Equals("InterfaceA"));
var casted = (InterfaceA)Activator.CreateInstance(type);
4

0 回答 0