使用反射c#实现接口

本文关键字:实现 接口 反射 | 更新日期: 2023-09-27 18:05:23

我有一个要求,我需要在我的项目中实现一个接口,该接口存在于第三部分DLL中。我正在使用反射加载这个DLL。这可能吗?

class MyClass : I3rdPartyInterface
{
    //implementing interface   
}

这里,I3rdPartyInterface是我的第三方DLL中存在的接口。这个DLL可能存在,也可能不存在,在安装我的软件产品的客户端机器上。如果它存在,那么我应该实现接口方法。

使用反射c#实现接口

您最好的选择是编写一个新项目,该项目引用该dll并实现该接口-并在运行时加载它。

新的dll在外部dll类型和你的应用程序类型之间"转换"——这样你的应用程序和外部dll之间就没有直接的依赖关系。

您可以在运行时生成和编译代码,但对于这种情况,创建一个包装器/转换器dll更简单