Nasıl temel aramak.taban.() yöntemini?
// Cannot change source code
class Base
{
public virtual void Say()
{
Console.WriteLine("Called from Base.");
}
}
// Cannot change source code
class Derived : Base
{
public override void Say()
{
Console.WriteLine("Called from Derived.");
base.Say();
}
}
class SpecialDerived : Derived
{
public override void Say()
{
Console.WriteLine("Called from Special Derived.");
base.Say();
}
}
class Program
{
static void Main(string[] args)
{
SpecialDerived sd = new SpecialDerived();
sd.Say();
}
}
Sonuç:
Called from Special Derived.
Called from Derived. /* this is not expected */
Called from Base.
Nasıl bu orta sınıf çok SpecialDerived sınıf yazabilirsiniz ben ""'In yöntemi denir? Türetilmiş
GÜNCELLEME:
İstiyorum sebebi Türetilmiş sınıf yerine diğer uygulamalar bir sürü içerir Türetilmiştir tabanından devralır. base.base.method()
burada yapamam bu yana, en iyi yolu, aşağıdaki işlemleri yapmak için sanırım?
class Derived : Base
{
public override void Say()
{
CustomSay();
base.Say();
}
protected virtual void CustomSay()
{
Console.WriteLine("Called from Derived.");
}
}
class SpecialDerived : Derived
{
/*
public override void Say()
{
Console.WriteLine("Called from Special Derived.");
base.Say();
}
*/
protected override void CustomSay()
{
Console.WriteLine("Called from Special Derived.");
}
}
CEVAP
Bu kötü bir programlama uygulama ve C İzin Verilmiyor#. Kötü bir programlama uygulama için
Bu grandbase ayrıntılarını tabanının Uygulama Detayları; onlara güvenmek zorunda olmamalısın. Temel sınıf grandbase soyutlama bir overtop sağlıyor, bu soyutlama kullanarak, bunu önlemek için bir bypass bina değil.
Ne yapar, çünkü tabanından türetilmiş ve yeniden uzatmak istiyorum. Ne gibi ve çevresinde çalışmak istiyorum daha işin varsa, neden ilk etapta bunu elde ettin? Eğer bu kullanmak ve genişletmek istediğiniz işlevi eğer grandbase kendine kaynaklanıyor.
Bankası Bankası grandbase yöntemlerini nasıl kullandığını detaylarını tarafından tutulan bir güvenlik ya da anlamsal tutarlılık amacıyla belirli değişmezler gerektirebilir. Temel türetilmiş bir sınıf bu değişmezler tutan kod atlamak için izin tutarsız, bozuk bir devlet Bankası koyabilirsiniz.
Nasıl temel bir UİButton programlı olu...
bir öğe veri-öznitelik değeri için bir...
Nasıl dinamik olarak değiştirmek angul...
Nasıl Chrome Geliştirici Araçları yükl...
Nasıl krom temel kimlik doğrulaması ay...