我在扩展类型(在 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)