Aradığım ve sorunum için herhangi bir çözüm bulamadık. Benim senaryo çok basit:base.Method() birden fazla miras düzeyiyle çağrılmıyor mu?
public class A
{
public virtual void MethodOne()
{
Console.log("A");
}
}
public class B : A
{
public override void MethodOne()
{
base.MethodOne();
Console.log("B");
}
}
public class C : B
{
public override void MethodOne()
{
base.MethodOne();
Console.log("C");
}
}
Ne yapmaya çalışıyorum sınıf C bir örneğini (biz 'instanceC' adını vereceğiz) geçersiz kılınan üst biriminin yöntemi ve bunun büyükbaba hem çağrı olması.
instanceC.MethodOne();
// Output:
// "A"
// "B"
// "C"
Ama bunun yerine bu alıyorum: Yani bu beklediğiniz sınıf B yöntemi ile
instanceC.MethodOne();
// Output
// "A"
// "C"
üzerinden atlanır ediliyor. Bu mümkün değil mi? Bunun bütün kalıtım/polimorfizm noktası olduğunu düşündüm. Şimdiden teşekkürler!
C'nin B'den türetilmediğinden ve A'nın değil mi olduğundan emin misiniz? – jure
Neden C ovveride B'den geliyor? A. – Derek
'dan miras almasını istiyorsun Sizin örneğiniz benim için beklendiği gibi çalışıyor ve 'ABC' – Lee