声明但不定义F#类

时间:2016-03-09 17:05:39

标签: class f# definition circular-dependency

在F#中是否有一种方法来声明一个类,但是没有像C#或C ++或Java那样定义它,或者几乎任何其他语言,以便我们可以避免使用和关键字?我有两个相当大的课程,互相参考,我不想把它们放在同一个文件中:

type Type1 =
    // definitions

and Type2 =
    //definitions

1 个答案:

答案 0 :(得分:1)

F#并没有使循环引用更容易。我对你的声明感到有点困惑,C#和Java允许你“声明但不定义”一个类;这些语言没有像C ++那样的前向声明概念,C ++的唯一原因就是支持它的基于头文件/翻译单元的编译模型,C#和Java幸好没有。

反正。为了更进一步,我建议您阅读Cyclic dependencies are evil并为您的2个类分解出一个常见的顶级类型,这样他们就不需要互相引用了。 F#允许循环引用,但尽量不要使用该语言。