我有一个需要在我的项目中实现接口的需求,该接口存在于第三方DLL中。我正在使用反射加载此DLL。可能吗?
class MyClass : I3rdPartyInterface
{
//implementing interface
}
在这里,
I3rdPartyInterface
是我的第三方DLL中存在的接口。安装了我的软件产品的客户端计算机上可能存在或没有该DLL。如果存在,那么我应该实现接口方法。
最佳答案
最好的选择是编写一个引用该dll并实现该接口的新项目-并在运行时加载该项目。
新的dll在外部dll类型和您的应用程序类型之间“转换”-这样,您的应用程序和外部dll之间就没有直接的依赖关系。
您可以在运行时生成和编译代码,但在这种情况下,创建包装器/翻译器dll更简单