在 2 个项目之间共享通用 c# class 但允许一个项目对其进行更改

Share common c# class between 2 projects but allow a project to make changes to it

假设我有一个项目 A,其中包含将在项目 B 和项目 C 之间共享的公共 classes。

项目 C 是否有可能从项目 A 实施它自己的 class 版本,以便项目 A 中的其他 classes 将使用项目 C 版本,如果那将是构建目标或使用项目 B(共享版本)版本(如果这是目标)。

有 2 个单独的 classes 是我认为的解决方案,但要确保我更新两个版本,这将是一个麻烦。我能想到的另一个解决方案是虚拟方法,但我不知道共享 class 依赖项将使用重写方法还是原始方法。

不要写 class。写一个接口。然后,根据设计,依赖于接口的 class 可以使用接口的任何实现。