Один конструктор для класса и его вложенных классов

Ради этого примера предположим, что мы делаем упрощенную -игру на понижение 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);

Я не могу найти примеры подобной установки. Как я могу это сделать?

6
задан 4444 30 November 2016 в 15:47
поделиться