So greifen Sie auf ein geschütztes Mitglied zu

Ich habe folgenden Code in Erweiterungstyp (in F #), der eine geschützte Methode einer Klasse aufruft, von der er erbt (in C #), aber ich erhalte die Ausnahme (siehe unten). Gibt es eine Problemumgehung dafür?

let getPagereference id =
    this.ConstructPageReference(id)

Auf den Element- oder Objektkonstruktor 'ConstructPageReference' kann nicht zugegriffen werden. Auf private Mitglieder kann nur innerhalb des deklarierenden Typs zugegriffen werden. Auf geschützte Member kann nur von einem erweiterten Typ aus zugegriffen werden, nicht jedoch von inneren Lambda-Ausdrücken.

Aktualisieren:

Ich habe versucht, zu folgen, aber das gleiche Ergebnis zu erzielen

let getPagereference id =
    base.ConstructPageReference(id)

Update 2 (Lösung):

Hier ist der Code wie er war:

type MyNewType() =
    inherit SomeAbstractType()

    let getPagereference id =
        base.ConstructPageReference(id)

    override this.SomeMethod()=
       let id = 0
       let pr = getPagereference id

so hätte es sein sollen:

type MyNewType() =
    inherit SomeAbstractType()

    member this.ConstructPageReference(id) =
        base.ConstructPageReference(id)

    override this.SomeMethod()=
       let id = 0
       let pr = this.ConstructPageReference(id)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage