Aşağıdaki kodu (C#) 'dan devraldığı bir sınıfın korunan bir yöntemini çağıran genişletme türünde (F #) aşağıdaki kodu kullanıyorum ama istisna (aşağıya bakın). Bunun için bir çözüm var mı?Korunan üyeye erişim
let getPagereference id =
this.ConstructPageReference(id)
elemanı ya da nesne, yapıcı 'ConstructPageReference' erişilemez. Özel üyelere yalnızca bildirme türünden erişilebilir. Korunan üyelere sadece bir uzatma türünden erişilebilir ve iç lambda ifadelerinden erişilemez.
Güncelleme:
Aşağıdaki ama aynı sonucu
let getPagereference id =
base.ConstructPageReference(id)
Güncelleme 2 (çözelti) elde denedi: Burada
kodu olduğu gibi geçerli:
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 # (ve AFAIK tüm CLI dilleri) erişim değiştiricileri onurlandırır: http://msdn.microsoft.com/en-us/library/ms173121.aspx –
Ya da belki de soruları anlamadım ... –
Bu f # etkileşimli – Enes