我在我的日子里使用过一点 Haskell,但那是很久以前的事了,所以我决定看看 F#。我使用 C、C++ 和 C# 进行大量日常开发。
我注意到在将 F# 编译为 dll 时,您可以将 F# 类型公开为 C# 中的类。但后来我开始思考。我有一些 C# 类,我想将其逻辑放入 F# 中(尝试一下)。但是很多现有的 C# 代码通过它们的基类处理很多对象(这是非常初级的)。是否可以使用 C# 中的该基类作为 F# 类型的基础?还是 F# 只能从其他 F# 类型继承?
这背后的原因是将基类保留为主要 C# 项目的一部分,并且可以用 F# 编写特定的 dll(类似于基于基类给定合同的插件)。如果无法完成,我将不得不添加另一个 F# 项目,该项目仅包含感觉有点过于复杂的基类。