2
我對difference between private members and let bindings有一些瞭解。 它可以幫助我澄清我的疑慮理解爲什麼這樣的事情是不可能的爲什麼只有在私人會員纔有可能?
type B() =
inherit A()
let doSomething() =
base.CallToA()
是,以防止施工期間部分構造的對象或某些泄漏?
我對difference between private members and let bindings有一些瞭解。 它可以幫助我澄清我的疑慮理解爲什麼這樣的事情是不可能的爲什麼只有在私人會員纔有可能?
type B() =
inherit A()
let doSomething() =
base.CallToA()
是,以防止施工期間部分構造的對象或某些泄漏?
base
關鍵字僅用於調用虛擬方法的基類實現。這是唯一的情況下,您需要base
,因爲您不能使用this
實例調用方法(因爲它會引用當前類中的覆蓋)。
編譯器希望阻止您訪問部分構造的對象,但部分正確。然而,這是需要你明確地說,你想用as this
能夠指在構造函數中當前實例進行: - 類似於成員聲明 -
type B() as this =
inherit A()
let doSomething() =
this.CallToA()
標識符this
僅僅是一個名稱,以便你可以在那裏使用其他名稱。