Ich habe folgenden Code in Erweiterung Typ (in F #), die eine geschützte Methode einer Klasse erbt es erbt (in C#) , aber ich bekomme die Ausnahme (siehe unten). Gibt es einen Workaround dafür?Wie Zugriff auf geschützte Member
let getPagereference id =
this.ConstructPageReference(id)
Das Element oder 'ConstructPageReference' Objektkonstruktor ist nicht zugänglich. Auf private Mitglieder darf nur vom deklarierenden Typ aus zugegriffen werden. Auf geschützte Member kann nur von einem Erweiterungstyp aus zugegriffen werden, auf den von internen Lambda-Ausdrücken aus nicht zugegriffen werden kann.
Update:
Ich habe versucht, folgende, aber immer das gleiche Ergebnis
let getPagereference id =
base.ConstructPageReference(id)
Update 2 (Lösung):
hier ist der Code, wie es war:
type MyNewType() =
inherit SomeAbstractType()
let getPagereference id =
base.ConstructPageReference(id)
override this.SomeMethod()=
let id = 0
let pr = getPagereference id
dies ist, wie es hätte sein sollen:
type MyNewType() =
inherit SomeAbstractType()
member this.ConstructPageReference(id) =
base.ConstructPageReference(id)
override this.SomeMethod()=
let id = 0
let pr = this.ConstructPageReference(id)
F # (und AFAIK alle CLI-Sprachen) ehrt Zugriffsmodifizierer: http://msdn.microsoft.com/en-us/library/ms173121.aspx –
Oder vielleicht habe ich die Frage nicht verstanden ... –
gut sagen dass zu f # interaktiv – Enes