2つの抽象クラスalphaとbetaを考えてみましょう。
[<AbstractClass>]
type alpha () =
abstract member foo: beta->beta
[<AbstractClass>]
and beta () = //***
abstract member bar: alpha
エラーが発生したことをコンパイルしようとすると、* * *で示された行に:
error FS0010: Unexpected keyword 'and' in interaction
そして私が書くなら:
[<AbstractClass>]
type alpha () =
abstract member foo: beta->beta
and beta () =
abstract member bar: alpha
それから私は得る:
error FS0365: No implementation was given for 'abstract member beta.bar : alpha'
そして、AbstractClass属性を追加する必要があるというヒント
では、循環的に定義された抽象クラスを宣言するにはどうすればよいですか?