Methoden bzw. Property aus Basisklasse verstecken?



  • Hallo,

    wenn ich bspw. ein klasse Foo von Bar ableite, und Bar hat eine öffentliche Property "MyTime"! Nun kann ich doch diese Property in Foo via "private override" überscheiben dami ich über eine instanz von Bar "MyTime" nicht mehr sichtbar ist.. geht daS?



  • Probier es doch aus? 🙂



  • was man auch probieren koennte

    public class Foo
    {
        public string MyTime { get; set; }
    }
    
    public class Bar : Foo
    {
        private new MyTime { get; set; }
    }
    

    weiss aber grad nicht ob das geht



  • Die Frage ist was es bringt, denn man kann immernoch auf die Basisklasse casten, und dann über die Basisklassen-Referenz die entsprechende Funktion/Property verwenden.

    Sowas nervt mich immer nur, z.B. wenn wieder irgendeine Klasse unbegint glaubt Dispose oder was auch immer explizit implementieren zu müssen.



  • @Hustbear: Ein gutes argument... 🙂 Naja ich lege im Code Behind der abgleiteten Klasse fest was "Child" für einen inhalt hat.. so das man auf Child in der kalsse nich mehr explizit zugreifen kann.. aber bringt wohl nicht viel;) Danke an euch:)


Log in to reply