Можно ли получить доступ к переменной метода с помощью отражения? - PullRequest
2 голосов
/ 26 мая 2009

Как получить доступ к переменной, определенной внутри метода, с помощью отражения?

Я должен создать критерии в Hibernate. База данных основана на атрибутах.

Рассмотрим фильм. Фильм может иметь много языков и жанров. например

Movieid           Property           Value
1                 Language           Hindi
1                 Language           English
1                 genre              action
2                 genre              comedy

Предположим, есть тысяча записей разных фильмов. Пользователь выбирает набор жанров (действие) и языков (хинди, английский), чтобы отфильтровать результат. Теперь я должен создать критерии в следующем порядке: выражение = (свойство = английский и жанр = действие) или (свойство = хинди и жанр = действие)

Для реализации я должен искать локальную переменную, определенную внутри условия цикла for.

Ответы [ 2 ]

18 голосов
/ 26 мая 2009

Вы не можете. Если он определен в методе, является ли он локальной переменной, определенной только в этой области. Поскольку у метода не было состояния за пределами его области действия, у вас нет доступа к нему.

Получив доступ к члену класса (который по определению является состоянием), вы можете получить доступ через "обычное" отражение .

1 голос
/ 07 июня 2009

Я предполагаю, что ваши данные для этих фильмов хранятся в РСУБД. Просто сделайте простой реляционный запрос, чтобы получить именно те результаты, которые вам нужны. Эта проблема является прекрасным примером того, для чего люди разработали системы управления реляционными базами данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...