Поскольку это статический класс, вы можете получить к нему доступ вот так
Session.Rooms.Load();
РЕДАКТИРОВАТЬ: В соответствии с вашим комментарием, вам, вероятно, следует изменить структуру вашего класса следующим образом
каждый класс "Session" представляет отдельную игровую сессию, но каждый
из них должен быть доступ к другим классам, таким как "Комнаты", "Детали
public class Session
{
public Rooms SessionRooms { set;get;}
public Details SessionDetails { set;get;}
}
public class Rooms
{
public void Load() {}
}
public class Details()
{
}
Здесь у каждого объекта Session есть свои Комнаты и Детали. Они специфичны для этих объектов Session.
Теперь вы можете сделать это
Session objSes=new Session();
objSes.Rooms.Load();
Убедитесь, что вы инициализируете свои дочерние свойства (другие классы) перед тем, как получить к ним доступ. В противном случае вы получите исключение нулевой ссылки.
РЕДАКТИРОВАТЬ: Согласно вашему комментарию, вы хотите получить доступ к классу Details внутри класса Rooms. В этом случае я добавлю свойство ParentSession в мой класс Rooms, например,
public class Rooms
{
public Session ParentSession { set;get;}
public Rooms(Session parent)
{
this.ParentSession=parent;
}
public void Load() {}
}
И в вашем SessionClass вы передаете объект родительского класса в конструктор класса Rooms
public class Session
{
public Rooms SessionRooms { set;get;}
public Details SessionDetails { set;get;}
public Session()
{
if(this.SessionRooms==null)
{
this.SessionRooms=new Room(this);
}
if(this.SessionDetails ==null)
{
this.SessionDetails =new Details(this);
}
}
}
и вы можете получить доступ к деталям из комнаты, как это
Session objSes=new Session();
//do something...
Room theRool=objSes.Room;
//now to access the details like
theRoom.ParentSession.SessionDetails