亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

.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

浦城县| 桂林市| 嘉义市| 峨山| 军事| 托克逊县| 庄河市| 包头市| 留坝县| 吴堡县| 登封市| 静海县| 松潘县| 万荣县| 习水县| 富锦市| 宁南县| 应用必备| 滕州市| 和政县| 老河口市| 梁河县| 双城市| 宁国市| 清镇市| 德令哈市| 多伦县| 泰宁县| 宁海县| 湖北省| 广东省| 临清市| 玉山县| 响水县| 无棣县| 金湖县| 堆龙德庆县| 三亚市| 奉节县| 阜宁县| 昌吉市|