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

Отражение - это способность программы наблюдать и / или изменять свою структуру и / или поведение во время выполнения. Отражение зависит от поддерживаемого языка программирования - пожалуйста, отметьте язык программирования, который используется при использовании этого тега.

1091
Как создать универсальный массив в Java?

Из-за реализации обобщений Java вы не можете иметь такой код: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Как я могу реализовать это при сохранении безопасности типов? Я видел решение на форумах Java, которое...

1071
Как использовать рефлексию для вызова универсального метода?

Каков наилучший способ вызова универсального метода, когда параметр типа неизвестен во время компиляции, а вместо этого получается динамически во время выполнения? Рассмотрим следующий пример кода - внутри Example()метода, какой самый краткий способ вызвать, GenericMethod<T>()используя...

928
Получить значение свойства из строки, используя отражение в C #

Я пытаюсь реализовать преобразование данных, используя пример отражения 1 в моем коде. GetSourceValueФункция имеет переключатель сравнения различных типов, но я хочу , чтобы удалить эти типы и свойства и имеют GetSourceValueполучить значение свойства , используя только одну строку в качестве...

782
Как получить путь к сборке, в которой находится код?

Есть ли способ получить путь к сборке, в которой находится текущий код? Я не хочу путь к вызывающей сборке, только тот, который содержит код. В основном мой модульный тест должен прочитать некоторые тестовые файлы XML, которые расположены относительно DLL. Я хочу, чтобы путь всегда разрешался...

684
Как вызвать метод Java, если имя метода указано в виде строки?

Если у меня есть две переменные: Object obj; String methodName = "getName"; Не зная класса obj, как я могу вызвать метод, указанный methodNameна нем? Вызываемый метод не имеет параметров и Stringвозвращаемого значения. Это геттер для Java-бина...

562
Как определить, реализует ли тип интерфейс с отражением C #

Есть ли отражение в C#предложении таким образом , чтобы определить , если некоторые заданные System.Typeмодели типа некоторого интерфейса? public interface IMyInterface {} public class MyType : IMyInterface {} // should yield 'true' typeof(MyType)./* ?????...

554
Получение всех типов, которые реализуют интерфейс

Используя отражение, как я могу получить все типы, которые реализуют интерфейс с C # 3.0 / .NET 3.5 с наименьшим количеством кода и минимизируя итерации? Вот что я хочу переписать: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do stuff...

514
Программный эквивалент по умолчанию (Тип)

Я использую отражение, чтобы перебрать Typeсвойства и установить определенные типы по умолчанию. Теперь я мог бы переключить тип и установить default(Type)явно, но я бы предпочел сделать это в одну строку. Есть ли программный эквивалент...

483
Получение атрибутов значения Enum

Я хотел бы знать, возможно ли получить атрибуты enumзначений, а не enumсамого? Например, предположим, у меня есть следующее enum: using System.ComponentModel; // for DescriptionAttribute enum FunkyAttributesEnum { [Description("Name With Spaces1")] NameWithoutSpaces1, [Description("Name With...

482
Как прочитать значение частного поля из другого класса в Java?

У меня плохо спроектированный класс в третьей стороне, JARи мне нужно получить доступ к одному из его личных полей. Например, зачем мне нужно выбирать личное поле, это необходимо? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = ...; Как я могу использовать...

479
Изменить частное статическое конечное поле с помощью отражения Java

У меня есть класс с private static finalполем, которое, к сожалению, мне нужно изменить во время выполнения. Используя отражение, я получаю эту ошибку: java.lang.IllegalAccessException: Can not set static final boolean field Есть ли способ изменить значение? Field hack =...

458
В чем разница между instanceof и Class.isAssignableFrom (…)?

Что из следующего лучше? a instanceof B или B.class.isAssignableFrom(a.getClass()) Единственное различие, о котором я знаю, состоит в том, что когда 'a' равно нулю, первое возвращает false, а второе выдает исключение. Кроме этого, они всегда дают один и тот же...