C# - One Constructor for a Class and its Nested Classes
===

Ran into a curious problem when trying to organize data into classes.  I'll see if I can make it generic enough for other people to learn from my confusion:

Let's say, for the sake of this example, we're making a dumbed-down game of *Clue™*.  We have a class to define each Room in the mansion, and subclasses for the Person and Weapon in the Room.  (Assume for simplicity the pieces don't move around after they have been randomly initialized to a Room.)

So we have something that looks like this:

    class Room
    {
        public string Name;
        public int Width;
        public int Height;
        // and so on...

        public class Suspect
        {
            public string Name;
            public bool PlaysCroquet;
        }

        public class Weapon
        {
            public string Name;
            public bool IsShiny;
        }
    }

Before adding the Suspect and Weapon as nested classes, our Room constructor looked something like:

    public Room(string Name, int Width, int Height)
    {
        this.Name = Name;
        this.Width = Width;
        this.Height = Height;
    }

At this time, initializing a room would be as simple as:

    Room[i] = new Room("Conservatory", 7, 3);

**My question is:** When nested classes are introduced to a main class, can their initialization be handled through a shared constructor with the main class?  Eventually I'd hope to initialize all three classes in the same line...

    Room[i] = new Room("Library", 8, 5, "Professor Plum", false, "Candlestick", true);

...but I can't seem to find any examples where someone has done a similar setup.  Any tips?