Что такое рефлексия и почему она полезна? Я особенно заинтересован в Java, но я предполагаю, что принципы одинаковы на любом
Отражение - это способность программы наблюдать и / или изменять свою структуру и / или поведение во время выполнения. Отражение зависит от поддерживаемого языка программирования - пожалуйста, отметьте язык программирования, который используется при использовании этого тега.
Что такое рефлексия и почему она полезна? Я особенно заинтересован в Java, но я предполагаю, что принципы одинаковы на любом
Из-за реализации обобщений Java вы не можете иметь такой код: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Как я могу реализовать это при сохранении безопасности типов? Я видел решение на форумах Java, которое...
Каков наилучший способ вызова универсального метода, когда параметр типа неизвестен во время компиляции, а вместо этого получается динамически во время выполнения? Рассмотрим следующий пример кода - внутри Example()метода, какой самый краткий способ вызвать, GenericMethod<T>()используя...
Я пытаюсь реализовать преобразование данных, используя пример отражения 1 в моем коде. GetSourceValueФункция имеет переключатель сравнения различных типов, но я хочу , чтобы удалить эти типы и свойства и имеют GetSourceValueполучить значение свойства , используя только одну строку в качестве...
Есть ли способ получить путь к сборке, в которой находится текущий код? Я не хочу путь к вызывающей сборке, только тот, который содержит код. В основном мой модульный тест должен прочитать некоторые тестовые файлы XML, которые расположены относительно DLL. Я хочу, чтобы путь всегда разрешался...
Можно не всегда знать Typeобъект во время компиляции, но может потребоваться создать экземпляр объекта Type. Как вы получаете новый экземпляр объекта от
Если у меня есть две переменные: Object obj; String methodName = "getName"; Не зная класса obj, как я могу вызвать метод, указанный methodNameна нем? Вызываемый метод не имеет параметров и Stringвозвращаемого значения. Это геттер для Java-бина...
Как мне получить список всех свойств
Как я могу проверить, определена ли переменная в Ruby? Есть ли issetспособ -типа в
Есть ли отражение в C#предложении таким образом , чтобы определить , если некоторые заданные System.Typeмодели типа некоторого интерфейса? public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ?????...
Используя отражение, как я могу получить все типы, которые реализуют интерфейс с C # 3.0 / .NET 3.5 с наименьшим количеством кода и минимизируя итерации? Вот что я хочу переписать: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do stuff...
Можно ли найти все классы или интерфейсы в данном пакете? (Быстро глядя на, например Package, казалось бы,
Я использую отражение, чтобы перебрать Typeсвойства и установить определенные типы по умолчанию. Теперь я мог бы переключить тип и установить default(Type)явно, но я бы предпочел сделать это в одну строку. Есть ли программный эквивалент...
Как мне этого добиться? public class GenericClass<T> { public Type getMyType() { //How do I return the type of T? } } Все, что я пробовал до сих пор, всегда возвращает тип, Objectа не конкретный используемый...
Я хотел бы знать, возможно ли получить атрибуты enumзначений, а не enumсамого? Например, предположим, у меня есть следующее enum: using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1, [Description("Name With...
У меня плохо спроектированный класс в третьей стороне, JARи мне нужно получить доступ к одному из его личных полей. Например, зачем мне нужно выбирать личное поле, это необходимо? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; Как я могу использовать...
У меня есть класс с private static finalполем, которое, к сожалению, мне нужно изменить во время выполнения. Используя отражение, я получаю эту ошибку: java.lang.IllegalAccessException: Can not set static final boolean field Есть ли способ изменить значение? Field hack =...
Есть ли способ получить имя выполняемого в настоящее время метода в
Если у меня есть класс с именем MyProgram, есть ли способ получить « MyProgram » в виде
Что из следующего лучше? a instanceof B или B.class.isAssignableFrom(a.getClass()) Единственное различие, о котором я знаю, состоит в том, что когда 'a' равно нулю, первое возвращает false, а второе выдает исключение. Кроме этого, они всегда дают один и тот же...