提问人:swcraft 提问时间:4/2/2021 更新时间:4/2/2021 访问量:86
加载汇编接口,无需共享公共库
Load assembly interface without sharing common library
问:
我想知道是否需要在 assemblyA 和 assemblyB 之间共享公共库。 需要实现的是将 assemblyA 加载到 assemblyB 代码中,并在加载(从对象)其中一种类型后强制转换接口,如下所示。我读到了一些条件,例如在每个程序集 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);
答: 暂无答案
评论
decoupling