[英]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; }
}
學習時,最好選擇一個好域名。 TopClass
與ClsPropX
不使一個很好的學習經驗。
至於你原來的問題,啟動調試器,看看ClsProp3
等於什么。 請記住,不可能將任何內容分配給“虛無”,這在C#用語中是null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.