亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從子類訪問隱藏的屬性

從子類訪問隱藏的屬性

C#
qq_遁去的一_1 2022-07-23 17:23:32
有時在 C# 中隱藏繼承的基類的屬性很有用,例如當您想要更改類型時。但是,一旦我隱藏了繼承的屬性,我不知道如何讀取或寫入隱藏屬性的值。這是一個使用動物和狗的小例子:public enum DogBreed {    Corgi, Pug}public class Animal {    public string Breed { get; set; }}public class Dog : Animal {    public new DogBreed? Breed {        get {            // Not working since "Breed" now refers to Dog.Breed not Animal.Breed            if (Breed == "Corgi") return DogBreed.Corgi;            if (Breed == "Pug") return DogBreed.Pug;            return null;        }        set {            // Also Not working for same reason as above            if (value == DogBreed.Corgi) Breed = "Corgi";            else if (value == DogBreed.Pug) Breed = "Pug";            else Breed = null;        }    }}如何訪問隱藏的屬性?(動物.品種)
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

您正在尋找base關鍵字:


public class Dog : Animal {

    public new DogBreed? Breed {

        get {

            // base.Breed refers to the hidden property

            if (base.Breed == "Corgi") return DogBreed.Corgi;

            if (base.Breed == "Pug") return DogBreed.Pug;

            return null;

        }

        set {

            if (value == DogBreed.Corgi) base.Breed = "Corgi";

            else if (value == DogBreed.Pug) base.Breed = "Pug";

            else base.Breed = null;

        }

    }

}


查看完整回答
反對 回復 2022-07-23
  • 1 回答
  • 0 關注
  • 101 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號