91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET如何建構子中傳遞子對象的對象

發布時間:2021-10-14 09:30:59 來源:億速云 閱讀:124 作者:小新 欄目:開發技術

這篇文章主要介紹.NET如何建構子中傳遞子對象的對象,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在設計對象繼承的時候,父對象建構子會需要一些參數,這些參數可以由子對象建構子透過base關鍵詞來提供。

復制代碼 代碼如下:


namespace Test001
{
    public class ParentClass
    {
        // Constructors
        public ParentClass(IEnumerable<string> dataCollection)
        {
            this.DataCollection = dataCollection;
        }

 
        // Properties
        public IEnumerable<string> DataCollection { get; private set; }
    }

    public class ChildClass : ParentClass
    {
        // Constructors
        public ChildClass() : base(new List<string>()) { }
    }
}


但是如果子對象,要使用這個傳遞給父對象的參數,就需要一點小技巧才能取得了。先來看一開始解決的想法是,先建立子對象的屬性對象,然后再傳遞給父對象。這個方法很快就失敗,光是編譯就不過了….。對象的建立是先跑建構子、然后生出對象。在建構子的階段,就要使用對象的屬性,一定是失敗的。

復制代碼 代碼如下:


namespace Test002
{
    public class ParentClass
    {
        // Constructors
        public ParentClass(IEnumerable<string> dataCollection)
        {
            this.DataCollection = dataCollection;
        }

 
        // Properties
        public IEnumerable<string> DataCollection { get; private set; }
    }

    public class ChildClass : ParentClass
    {
        // Fields
        private readonly List<string> _dataCollection = new List<string>();

 
        // Constructors
        private ChildClass() : base(_dataCollection) { }
    }
}

.NET如何建構子中傳遞子對象的對象

想了一下,換個角度去解決這個問題。干脆另外再開一個子對象的建構子,先建立要傳給父對象的對象,然后不直接傳給父對象的建構子,而是傳給子對象自己的建構子,然后這個建構子在傳遞給父對象。寫到我眼睛都花了,好像繞口令….。直接看程序代碼吧,其實還蠻簡單就可以完成這個小小的設計:

復制代碼 代碼如下:


namespace Test003
{
    public class ParentClass
    {
        // Constructors
        public ParentClass(IEnumerable<string> dataCollection)
        {
            this.DataCollection = dataCollection;
        }

 
        // Properties
        public IEnumerable<string> DataCollection { get; private set; }
    }

    public class ChildClass : ParentClass
    {
        // Fields
        private readonly List<string> _dataCollection = null;

 
        // Constructors
        public ChildClass() : this(new List<string>()) { }

        private ChildClass(List<string> dataCollection)
            : base(dataCollection)
        {
            _dataCollection = dataCollection;
        }
    }
}

以上是“.NET如何建構子中傳遞子對象的對象”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤山市| 巴中市| 金门县| 若尔盖县| 色达县| 林芝县| 高平市| 湖州市| 邹城市| 威宁| 澄城县| 宜君县| 兰考县| 涞源县| 临高县| 磐安县| 津南区| 潮安县| 凤山市| 锡林浩特市| 高阳县| 加查县| 通山县| 三门县| 青浦区| 菏泽市| 万安县| 岑溪市| 桐柏县| 东方市| 荆州市| 天台县| 阿坝| 会东县| 益阳市| 南丰县| 黄浦区| 丰台区| 平安县| 黄山市| 东宁县|