如何解决在C#中为其他人提供接口定义的最佳方法是什么?
| 这使我很可能得到一个公认的最佳实践答案,但是我似乎在任何地方都找不到。 我有一个应用程序,它将加载和使用实现特定接口的类。实现类将由其他人编写,我想向他们发送成功实现接口所需的最少信息。 到目前为止,我想出的最好的方法是: 该应用程序解决方案包含: 一个仅包含接口定义并编译为dll的项目。 使用接口并引用dll的应用程序项目。 用于示例实现的单独解决方案,该解决方案可生成dll并引用接口dll。 这是最好的方法吗?即将接口的编译版本分发给需要实现该接口的任何人。 我尝试在示例实现中仅使用接口源文件的副本,但我的应用程序无法将类识别为实现接口。这是意料之中的,还是我的类正在加载代码错误(当示例引用预编译的dll时,它是否起作用)?解决方法
您应该将接口放入程序集中,然后分发程序集(或整个项目,如果需要),以便其他想要实现该接口的人只需要引用您的程序集,这样他们就可以访问同一接口(不是如果您仅发送接口(.cs)文件的情况,因为您的接口将被嵌入到另一个程序集中,因此肯定会有另一个名称空间或程序集名称,这就是为什么您的实现类未被识别为继承您的接口的原因,基本上不是相同的接口,即使方法和属性相同;))
我认为如果您不希望人们更改您的代码而只使用界面,则您的方法是最好的
否则,只需共享包含接口的整个项目
, 这是我在其他项目中使用过的方法,在共享程序集的通用名称如MyApp.Interfaces的情况下,以防最终使用多个共享接口。
一种替代方法是使用托管可扩展性框架:http://msdn.microsoft.com/zh-cn/library/dd460648.aspx-但这对于一个小型项目而言可能是过高的选择。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。