标签: class types f# definition
我希望有一个类型A,其属性是类型B的实例。类型B具有类型A实例的属性。问题是,F#按顺序读取源文件。因此,如果我首先定义类型A,那么它将无法识别类型B.如果我首先定义类型B,我不能使它具有A的实例。有没有办法绕过这个,或者这只是糟糕的设计就我而言?
答案 0 :(得分:6)
如果它们位于同一个文件中,您可以定义相互递归类型
type Chicken = | Eggs of Egg list and Egg = | Chickens of Chicken list