Вы можете использовать @Delegate
, чтобы эффективно «копировать» каждый метод, который у вас есть в закрытом внутреннем классе, во внешний (а реализация просто вызывает этот метод внутри):
@Delegate private Resources resources;
Обратите внимание, чтотип, используемый в сигнатуре (конструкторы, поля, методы и т. д. - некодовые аспекты типа), такой, что тип менее видим, чем сигнатура, действительно странно : здесь у вас естьОткрытый метод, который возвращает эффективно невидимый тип (ресурсы) для всего кода, который не находится в этом самом файле. Это плохая идея;никто не может использовать этот метод. Либо избавьтесь от метода получения и установки (например, используя вместо него Delegate), либо сделайте внутренний класс Resources общедоступным.
Давайте сделаем шаг назад: чего вы пытаетесь достичь? Например, если вы не хотите, чтобы кто-то использовал этот внутренний класс Resources без ведома внешнего, это легко выполнимо: просто создайте приватный конструктор в Resources и вуаля. Теперь никто не может создавать экземпляры, кроме вашего внешнего.