gpt4 book ai didi

c# - 跨多个程序集实现分部方法

转载 作者:太空狗 更新时间:2023-10-29 19:55:13 25 4
gpt4 key购买 nike

在我正在开发的其中一个应用程序中,包含两个基本功能:创建和更新。

但是,有时需要添加自定义代码,所以我想到通过允许第 3 方编写和嵌入他们自己的代码来扩展代码:

创建时创建时更新时更新时

有没有办法在多个程序集中启用上述功能? MEF 可能会在这里提供帮助?

谢谢问候


谢谢大家的回复。

拥有这样的接口(interface)意味着每个外部程序集都必须根据需要实现该接口(interface)。然后,我的应用程序代码需要循环遍历当前运行的程序集,检测实现该接口(interface)的所有类,并运行它们的方法吗?

MEF 适合这里吗?我可以从外部程序集导出实现并将它们导入到我的应用程序中吗?

谢谢问候

最佳答案

您不能在程序集中使用部分类,因为部分类是一种语言功能,而不是 CLR 功能。 C# 编译器将所有部分类合并为一个真正的类,并且该类是编译后唯一剩下的东西。

你有几个选择:

  1. 提供事件
  2. 使方法成为虚拟方法并覆盖它们
  3. 使用界面

您的问题看起来最适合事件。用户可以简单地在另一个程序集中订阅它们。

关于c# - 跨多个程序集实现分部方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com