加载程序集接口而不共享公共库

问题描述

我想知道是否需要在 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);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...