爲了這個例子的緣故,假設我們正在做一個虛擬的遊戲Clue™。我們爲豪宅中的每個房間設置一個班級,並在每個房間中爲嫌疑人和武器分配一個班級。喜歡的東西:一個類和它的嵌套類的構造函數
class Room
{
public string Name;
public int Width;
public int Height;
// and so on...
public class Suspect
{
public string Name;
public bool isPurple;
}
public class Weapon
{
public string Name;
public bool IsMetal;
}
}
之前將犯罪嫌疑人與武器類,房間構造看起來是這樣的:
public Room(string Name, int Width, int Height)
{
this.Name = Name;
this.Width = Width;
this.Height = Height;
}
初始化以前那樣簡單的房間:Room[i] = new Room("Conservatory", 7, 3);
- 但嵌套類是後介紹,他們的初始化可以通過與主類共享構造函數來處理?類似於:
Room[i] = new Room("Library", 8, 5, "Professor Plum", true, "Candlestick", true);
我似乎無法找到類似設置的任何示例。我怎樣才能做到這一點?
你在找這樣的事情ParentClass.ChildClass childClass =新ParentClass.ChildClass(); – HatSoft 2012-07-13 15:48:11
嵌套類與其父類沒有特別的關係。除了你可以聲明它是私人的,因此完全隱藏它。而且它可以訪問外部類的私人成員。就是這樣,沒有一個「共享構造函數」有意義的場景。將角色類作爲房間的私人實現細節也沒有意義。 – 2012-07-13 15:48:12
你沒有發現任何的例子,因爲沒有人能寫出這樣的例子,編譯器怎麼知道「梅花教授」應作爲價值的Suspect.Name財產? (我想,這是你的意圖) – Steve 2012-07-13 15:48:22