Вопросы с тегом «reflection»

167
Как динамически загрузить класс Python

Учитывая строку класса Python, например my_package.my_module.MyClass, каков наилучший способ ее загрузки? Другими словами, я ищу эквивалент Class.forName()в Java, функцию в Python. Это должно работать на Google App Engine. Предпочтительно это будет функция, которая принимает FQN класса в виде...

165
Почему в Attributes.IsDefined () отсутствуют перегрузки?

Вдохновлен таким вопросом. Класс Attribute имеет несколько перегрузок для метода IsDefined () . Покрыты атрибуты, применяемые к Assembly, Module, MemberInfo, ParameterInfo. Перегрузка MemberInfo охватывает PropertyInfo, FieldInfo, EventInfo, MethodInfo, ConstructorInfo. Это заботится о большинстве...

163
Получить только статические поля, объявленные в классе Java

У меня есть следующий класс: public class Test { public static int a = 0; public int b = 1; } Можно ли использовать отражение, чтобы получить список только статических полей? Я знаю, что могу получить массив всех полей с Test.class.getDeclaredFields(). Но, похоже, нет способа определить, является...

159
Что такое invokedynamic и как мне его использовать?

Я продолжаю слышать обо всех новых интересных функциях, которые добавляются в JVM, и одна из этих интересных функций - динамическая. Я хотел бы знать, что это такое и как это делает рефлексивное программирование на Java легче или...

156
Как проверить, есть ли у объекта определенный метод / свойство?

Использование динамического шаблона возможно? Вы можете вызвать любой метод / свойство, используя ключевое слово dynamic, верно? Как проверить, существует ли метод, например, перед вызовом myDynamicObject.DoStuff...

154
Как перехватить вызов метода в C #?

Для данного класса я хотел бы иметь функцию трассировки, т.е. я хотел бы регистрировать каждый вызов метода (сигнатура метода и фактические значения параметров) и каждый выход метода (только сигнатура метода). Как мне сделать это, если: Я не хочу использовать сторонние библиотеки AOP для C #, Я не...

150
Получить свойства и значения от неизвестного объекта

Из мира PHP я решил попробовать C #. У меня был поиск, но я не могу найти ответ, как это сделать. $object = new Object(); $vars = get_class_vars(get_class($object)); foreach($vars as $var) { doSomething($object->$var); } У меня в основном есть список объекта. Объект может быть одного из трех...

149
Может ли строка кода Python знать свой уровень вложенности отступа?

Из чего-то вроде этого: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) Я хотел бы получить что-то вроде этого: 1 2 3 Может ли код читать себя таким образом? Все, что я хочу, - это вывод из более вложенных частей кода, чтобы быть более вложенными. Точно...

148
Как получить значение свойства на основе имени

Есть ли способ получить значение свойства объекта на основе его имени? Например, если у меня есть: public class Car : Vehicle { public string Make { get; set; } } и var car = new Car { Make="Ford" }; Я хочу написать метод, в котором я могу передать имя свойства, и оно будет возвращать значение...

147
Во время выполнения найдите все классы в приложении Java, которые расширяют базовый класс

Я хочу сделать что-то вроде этого: List<Animal> animals = new ArrayList<Animal>(); for( Class c: list_of_all_classes_available_to_my_app() ) if (c is Animal) animals.add( new c() ); Итак, я хочу посмотреть на все классы во вселенной моего приложения, и когда я найду тот, который...

147
В чем разница между динамическим прокси JDK и CGLib?

В случае шаблона проектирования прокси , в чем разница между динамическим прокси- сервером JDK и сторонними API для генерации динамического кода, такими как CGLib ? В чем разница между использованием обоих подходов и когда один предпочитает один...

146
Любой способ вызвать частный метод?

У меня есть класс, который использует XML и отражение, чтобы вернуть Objects в другой класс. Обычно эти объекты являются подполями внешнего объекта, но иногда это то, что я хочу генерировать на лету. Я пробовал что-то подобное, но безрезультатно. Я считаю, что это потому, что Java не позволит вам...

141
Отражение Java: как получить имя переменной?

Можно ли получить имя локальной переменной с помощью Java Reflection? Например, если у меня есть это: Foo b = new Foo(); Foo a = new Foo(); Foo r = new Foo(); можно ли реализовать метод, который может найти имена этих переменных, например: public void baz(Foo... foos) { for (Foo foo: foos) { //...