5
È possibile che un oggetto si riferisca a se stesso prima delle definizioni dei membri? Qualcosa di simile a questo:L'oggetto F # fa riferimento a self in let binding before members
type public ClassA() = class
let b = new ClassB(this)
member public x.getClassB() = b
end
dove 'questo' è un riferimento all'istanza di ClassA creare il ClassB?
In questo esempio (o uno più semplice), c'è qualche differenza tra l'utilizzo di '' x' e this'? – torbonde
@torbonde 'x' definisce la proprietà 'self' per i membri, mentre' this' ha scope del costruttore. Devi sempre avere una proprietà 'self' per i membri, ma puoi omettere l'autoidentificatore per il costruttore. – mydogisbox
Per maggiore chiarezza, sia l'identificatore automatico a livello di costruttore ('questo' nell'esempio sopra) sia quello a livello di membro uno ('x') può essere un'etichetta altrimenti inutilizzata. Es: tipo pubblico ClassA() come foo = let b = new ClassB (foo) membro bar.getClassB pubblico() = b e pubblico ClassB (a: ClassA) = membro pubblico bar.getClassA () = a – Kit