Как получить доступ к защищенному члену
У меня есть следующий код в расширяющем типе (в F #), который вызывает защищенный метод класса, от которого он наследует (в C #), но я получаю исключение (см. Ниже). Есть ли обходной путь для этого?
let getPagereference id =
this.ConstructPageReference(id)
Элемент или конструктор объекта ConstructPageReference недоступен. Доступ к закрытым членам возможен только из объявленного типа. Доступ к защищенным элементам возможен только из расширяющего типа, а доступ из внутренних лямбда-выражений невозможен.
Обновить:
Я пытался следовать, но получить тот же результат
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)