Ради этого примера предположим, что мы делаем упрощенную -игру на понижение 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;
}
}
До добавления классов Suspect и Weapon конструктор Room выглядел примерно так:
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);
Я не могу найти примеры подобной установки. Как я могу это сделать?