【发布时间】:2014-08-29 14:54:53
【问题描述】:
我需要在外部 dll 中使用一些方法,我已经做过类似的事情,但这次外部 dll 是一个接口。
我喜欢这样:
Assembly Assembly = Assembly.LoadFrom("fullpathofdll");
Type Type = Assembly.GetType("mytype");
dynamic Instance = Activator.CreateInstance(Type);
但我收到此错误:无法创建接口实例
我知道不可能实现界面,但我不知道如何做到这一点。
有人可以帮忙吗?
【问题讨论】:
-
创建一个实现该接口的具体类的实例?
-
接口只是一个代码合约。您需要创建实现接口的类的实例。您当然可以在 dll 中找到许多实现该接口的类。所有这些类可能有不同的实现,你会得到相同的方法不同的结果。
-
如果你没有一个具体的类,那么你就没有实现,DLL 是否不包含任何实现接口的类型?如果没有,那么你只有一个合同,没有实施,所以你自己写一个。