簡體   English   中英

為類中的類的屬性賦值

[英]Assign a value to a property of a class within a class

我有以下代碼

class TopClass
{
    public string ClsProp1 { get; set; }
    public string ClsProp2 { get; set; }

    public SubClass ClsProp3 { get; set; }
}

class SubClass
{
    public string SCProp1 { get; set; }
    public string SCProp2 { get; set; }
}


class Program
{
    static void Main(string[] args)
    {

        Test.TopClass TCN = new Test.TopClass();

        TCN.ClsProp1 = "TCProp1--string value";
        TCN.ClsProp2 = "TCProp2--string value";
        TCN.ClsProp3.SCProp1 = "SCProp1--string value";
        TCN.ClsProp3.SCProp2 = "SCProp2--string value";

    }
}

我似乎無法弄清楚如何實例化TCN.ClsProp3.ScProp1和TCN.ClsProp3.ScProp2值。 我不斷收到“Test.exe中發生類型'System.NullReferenceException'的未處理異常附加信息:對象引用未設置為對象的實例。” 錯誤信息。 原諒我的無知,我真的想從零開始學習OOP。

提前致謝

您需要先初始化ClsProp3對象,然后才能使用它。

TCN.ClsProp3 = new SubClass();

你也可以在TopClass構造函數中初始化它,如下所示:

class TopClass
{
    public TopClass()
    {
        ClsProp3 = new SubClass();
    }
    public string ClsProp1 { get; set; }
    public string ClsProp2 { get; set; }

    public SubClass ClsProp3 { get; set; }
}

學習時,最好選擇一個好域名。 TopClassClsPropX不使一個很好的學習經驗。

至於你原來的問題,啟動調試器,看看ClsProp3等於什么。 請記住,不可能將任何內容分配給“虛無”,這在C#用語中是null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM