5
prendere in considerazione le due classi astratte alfa e beta:Come dichiaro circolari classi astratte dipendenti in F #
[<AbstractClass>]
type alpha() =
abstract member foo: beta->beta
[<AbstractClass>]
and beta() = //***
abstract member bar: alpha
Se provo a compilare che ottengo un errore, sulla linea indicata con * * *:
error FS0010: Unexpected keyword 'and' in interaction
E se scrivo:
[<AbstractClass>]
type alpha() =
abstract member foo: beta->beta
and beta() =
abstract member bar: alpha
tanto sono:
error FS0365: No implementation was given for 'abstract member beta.bar : alpha'
e il suggerimento che avrei dovuto aggiungere l'attributo AbstractClass
Così le classi astratte Come dichiaro circolarmente definiti?