【问题标题】:How to use an Interface of external dll in c#如何在c#中使用外部dll的接口
【发布时间】: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 是否不包含任何实现接口的类型?如果没有,那么你只有一个合同,没有实施,所以你自己写一个。

标签: c# dll interop dllimport


【解决方案1】:

接口应该是您实现的“合同”,而不是实例化。 然后可以按照上面的方式通过反射来实例化您自己的接口实现。

【讨论】:

  • 对不起,Keni,但我不明白。你能给我一个如何做到这一点的样本吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-09
  • 2010-10-23
  • 2011-02-13
  • 1970-01-01
  • 2011-01-09
  • 2016-05-19
  • 1970-01-01
相关资源
最近更新 更多