2009-12-17 15 views
5

Quiero declarar dos clases que están asociadas, por lo tanto, las declaro juntas unidas por un 'y'. Cada uno tiene diferentes atributos, pero este código no funciona ("palabra clave inesperado 'y' en la definición de" error en la palabra clave 'y'. ¿Cómo debo declarar los atributos de la segunda clase?¿Es posible definir diferentes atributos para las clases recursivas en F #

[<AbstractClass>] 
type foo() = 
    abstract member fun1 : foo -> foo2 
[<Serializable>] 
and foo2() = class 
    member x.bar y = y 
end 

Respuesta

8

Funciona para mí. ¿usted hizo open System

open System 

[<AbstractClass>] 
type foo() = 
    abstract member fun1 : foo -> foo2 
and [<Serializable>] foo2() = class 
    member x.bar y = y 
end 

Editar:? Ah, parece que el segundo atributo debe ser posterior a la and

2

Sí, me abrió sistema y sí la solución es colocar después de la..

Ta!

Cuestiones relacionadas