5
對象在成員定義之前可能引用自身嗎?類似這樣的:F#對象在成員之前引用自我綁定
type public ClassA() = class
let b = new ClassB(this)
member public x.getClassB() = b
end
其中'this'是創建ClassB的ClassA實例的引用?
對象在成員定義之前可能引用自身嗎?類似這樣的:F#對象在成員之前引用自我綁定
type public ClassA() = class
let b = new ClassB(this)
member public x.getClassB() = b
end
其中'this'是創建ClassB的ClassA實例的引用?
類可以使用as
提到自己在它們的構造:
type public ClassA() as this =
let b = new ClassB(this)
member public x.getClassB() = b
and public ClassB (a: ClassA) =
member public x.getClassA() = a
在此示例中(或更簡單的一個),有使用'x'和'this'之間的任何差異? – torbonde
@torbonde'x'爲成員定義'self'屬性,而'this'具有構造函數的作用域。您必須始終擁有成員的「自我」屬性,但是您可以省略構造函數的自我標識符。 – mydogisbox
爲了清楚起見,構造函數級別的自我標識符(上例中的'this')和成員級別('x')可以是任何其他未使用的標籤。 例如: 類型公共ClassA的()中作爲富= 令B =新ClassB的(富) 構件公共bar.getClassB()= B 和公共ClassB的(一個:ClassA的)= 構件公共bar.getClassA( )= a – Kit