我在擴展類型(在F#中)調用其繼承的類的保護方法(在C#中) 但我得到異常(見下文)中的代碼如下。有沒有解決方法?如何訪問受保護的成員
let getPagereference id =
this.ConstructPageReference(id)
成員或對象構造函數'ConstructPageReference'不可訪問。私人成員只能從聲明類型中訪問。受保護的成員只能從擴展類型訪問,不能從內部lambda表達式訪問。
更新:
我曾嘗試以下,但得到了同樣的結果
let getPagereference id =
base.ConstructPageReference(id)
更新2(解決方案):
這裏是代碼,因爲它是:
type MyNewType() =
inherit SomeAbstractType()
let getPagereference id =
base.ConstructPageReference(id)
override this.SomeMethod()=
let id = 0
let pr = getPagereference id
這是應該已經:
type MyNewType() =
inherit SomeAbstractType()
member this.ConstructPageReference(id) =
base.ConstructPageReference(id)
override this.SomeMethod()=
let id = 0
let pr = this.ConstructPageReference(id)
F#(和AFAIK所有CLI語言)授予訪問修飾符:http://msdn.microsoft.com/en-us/library/ms173121.aspx – 2010-03-02 20:31:06
或者,也許我不明白這個問題... – 2010-03-02 20:32:36
好說那對f#互動 – Enes 2010-03-02 20:33:26