C#实现缺少程序集的接口

时间:2015-10-02 17:58:41

标签: c# .net inheritance interface .net-assembly

我有三个装配。主要可执行文件,公共库和扩展。在扩展中,我需要实现来自公共程序集的某个接口,以便将类作为服务注册到静态Kernel类中。

唯一的问题是,我无法访问实现该接口所需的某些类型。例如,接口A的方法DoWork()具有返回类型B。扩展程序集在其引用中没有B类型,并且无法添加。

有没有办法实现接口,让方法抛出NotImplementedException并扩展程序集编译?

注意,主程序集需要引用扩展名才能注册它,所以我不能引用扩展中的主程序集并在主程序中声明类型。

1 个答案:

答案 0 :(得分:1)

不可能做这样的事情。您必须实现接口的所有成员,为此,您需要引用这些成员的所有返回类型和参数类型。

  

注意,主程序集需要引用扩展名   注册它,所以我不能引用扩展中的主程序集   并在主要类型中声明类型。

如何在扩展程序集中添加对外部库的引用?我想这是你在这里唯一的可能性。我假设扩展将与主程序集一起部署。由于没有外部库,主程序集无法正常运行,您将拥有所需的一切。