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

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

19
Определите, выполняется ли код как часть модульного теста
У меня есть модульный тест (nUnit). На многих уровнях стека вызовов метод не сработает, если он выполняется через модульный тест. В идеале вы должны использовать что-то вроде насмешек для настройки объекта, от которого зависит этот метод, но это сторонний код, и я не могу сделать это без большой работы. Я …
107 c#  reflection  nunit 

4
Отражение Java - влияние setAccessible (true)
Я использую некоторые аннотации для динамической установки значений полей в классах. Поскольку я хочу делать это независимо от того, является ли он общедоступным, защищенным или частным, я setAccessible(true)вызываю объект Field каждый раз перед вызовом set()метода. У меня вопрос: какое влияние этот setAccessible()звонок оказывает на само поле? Более конкретно, скажем, что …
106 java  reflection 

13
получение типа T из IEnumerable <T>
есть ли способ получить тип TизIEnumerable&lt;T&gt; посредством отражения? например у меня есть переменная IEnumerable&lt;Child&gt;информация; я хочу получить тип ребенка через отражение
106 c#  generics  reflection 

10
Проблема с получением AssemblyVersion на веб-странице с помощью Razor / MVC3
Я использую следующий код в нижнем колонтитуле моего файла _Layout.cshtml, чтобы поместить данные версии AssemblyInfo в нижний колонтитул каждой страницы моего сайта MVC3. Тем не мение: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() Просто печатает в нижнем колонтитуле: Revision 0.0.0.0 Когда я изменил представление, чтобы отобразить всю информацию о сборке для «Выполняемой сборки», используя следующие @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() …

8
Как я могу получить список столбцов в таблице для базы данных SQLite?
Я хочу получить список столбцов в таблице. База данных - это последняя версия SQLite (я считаю, 3.6). Я ищу код, который делает это с помощью SQL-запроса. Дополнительные бонусные баллы за метаданные, относящиеся к столбцам (например, длина, тип данных и т. Д.)
104 reflection  sqlite  list 


9
Как избежать instanceof в Java
Наличие цепочки операций instanceof считается «запахом кода». Стандартный ответ - «использовать полиморфизм». Как бы я это сделал в таком случае? Есть несколько подклассов базового класса; ни один из них не находится под моим контролем. Аналогичная ситуация была бы с классами Java Integer, Double, BigDecimal и т. Д. if (obj instanceof …

7
В чем разница между a.getClass () и A.class в Java?
Какие плюсы и минусы существуют в Java при выборе использования a.getClass()или A.class? Любой из них можно использовать везде, где Class&lt;?&gt;ожидается, но я предполагаю, что использование обоих в разных обстоятельствах принесет производительность или другие незначительные преимущества (как и в случае с Class.forName()и ClassLoader.loadClass().
102 java  class  reflection 

2
Как получить имя функции в Go?
Можно ли получить имя для данной функции? Сказать: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Мне сказали, что runtime.FuncForPC поможет, но я не понял, как его использовать.

4
Добавить свойство к анонимному типу после создания
Я использую анонимный объект для передачи моих атрибутов Html некоторым вспомогательным методам. Если потребитель не добавил атрибут ID, я хочу добавить его в свой вспомогательный метод. Как я могу добавить атрибут к этому анонимному объекту?

3
Как ограничить setAccessible только «законным» использованием?
Чем больше я узнавал о силе java.lang.reflect.AccessibleObject.setAccessible, тем больше удивлялся тому, на что она способна. Это адаптировано из моего ответа на вопрос ( Использование отражения для изменения статического финального File.separatorChar для модульного тестирования ). import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); …

3
диапазон по интерфейсу {}, в котором хранится фрагмент
Учитывая сценарий, в котором у вас есть функция, которая принимает t interface{}. Если определено, что tэто срез, как мне пройти rangeнад этим срезом? func main() { data := []string{"one","two","three"} test(data) moredata := []int{1,2,3} test(data) } func test(t interface{}) { switch reflect.TypeOf(t).Kind() { case reflect.Slice: // how do I iterate here? …


4
Создание экземпляра типа без конструктора по умолчанию в C # с использованием отражения
В качестве примера возьмем следующий класс: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Затем я хочу создать экземпляр этого типа, используя отражение: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Обычно это сработает, однако, поскольку SomeTypeне определен конструктор без параметров, вызов вызывает Activator.CreateInstanceисключение …

4
Как предотвратить исключение ReflectionTypeLoadException при вызове Assembly.GetTypes ()
Я пытаюсь сканировать сборку на предмет типов, реализующих определенный интерфейс, используя код, подобный этому: public List&lt;Type&gt; FindTypesImplementing&lt;T&gt;(string assemblyPath) { var matchingTypes = new List&lt;Type&gt;(); var asm = Assembly.LoadFrom(assemblyPath); foreach (var t in asm.GetTypes()) { if (typeof(T).IsAssignableFrom(t)) matchingTypes.Add(t); } return matchingTypes; } Моя проблема в том, что в некоторых случаях я …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.