我是 C# 新手,我的編碼有問題。我在運行時遇到錯誤。似乎沒有分配對象數組。歡迎任何幫助/提示。我有一個帶有修理室的“建筑”類。預計不會改變或增加房間。房間有很多屬性。在我的“Home”類中,我想通過對象數組訪問所有房間以及特定房間。提前致謝:Class Home{private void StartProgramm() { //get all Objects of class "Building" Building[] building = Building.Buildings; //System.NullReferenceException during runtime set_label_header(building[0].Name); //Access to room1 Building room1 = Building.room1; set_label_header(room1.Name); //Get room2 Building room2 = Building.GetBuilding("room2"); set_label_header(room2?.Name); }} class Building { public string Name { get; set; } public ArrayList tool_groupList = new ArrayList(); public ArrayList pos_List = new ArrayList(); public ArrayList inv_list = new ArrayList(); public static Building room1; public static Building room2; public static Building[] Buildings; public Building() { //create room 1 and add some attributes room1 = new Building { Name = "room1" }; room1.tool_groupList.Add(1); room1.tool_groupList.Add(2); room1.pos_List.Add(14); room1.pos_List.Add(15); room1.pos_List.Add(16); room1.pos_List.Add(17); Iventory[] inventories = Inventory.get_inventories(); room1.areaList.AddRange(inventories); }
1 回答

侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
您試圖在調用Building.Buildings
類的構造函數之前訪問靜態字段Building
。創建實例后,Building
靜態字段將被分配。您可能想使用靜態構造函數,如下例所示:
static Building() { ... Buildings = new Building[] { room1, room2 }; }
- 1 回答
- 0 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消