Tag: reflection

Как вы можете перебирать свойства classа?

Есть ли способ в c # перебрать свойства classа? В основном у меня есть class, который содержит большое количество свойств (он в основном содержит результаты большого запроса к базе данных). Мне нужно вывести эти результаты в виде файла CSV, поэтому нужно добавить каждое значение в строку. Очевидный способ вручную добавить каждое значение в строку, но […]

Как найти все типы в сборке, которые наследуют от определенного типа C #

Как вы получаете коллекцию всех типов, которые наследуются от определенного другого типа?

Через 3 минуты Что такое reflection?

Многие списки ответов .Net ( включая хорошие ) содержат вопрос: «Что такое reflection?». Недавно мне было предложено ответить на этот вопрос в контексте 5 вопросов, технических испытаний, которые должны были быть завершены за 15 минут на листе пустой бумаги, переданной мне в кафетерии. Мой ответ шел по строкам «Отражение» позволяет вам найти методы, свойства и […]

Когда вы используете reflection? Модели / анти-паттерны

Я понимаю API отражения (в c #), но я не уверен, в какой ситуации я его буду использовать. Каковы некоторые шаблоны – анти-шаблоны для использования отражения?

Динамическое создание прокси-classа

Я пытаюсь создать прокси–class динамически. Я знаю, что есть очень хорошие frameworks для этого, но это чисто любимый проект в качестве учебного упражнения, поэтому я хотел бы сделать это сам. Если, например, у меня есть следующий class, реализующий интерфейс: interface IMyInterface { void MyProcedure(); } class MyClass : IMyInterface { void MyProcedure() { Console.WriteLine(“Hello World”); […]

Разница между загрузкой classа с использованием ClassLoader и Class.forName

Ниже приведены 2 fragmentа кода Первый использует class ClassLoader для загрузки указанного classа ClassLoader cls = ClassLoader.getSystemClassLoader(); Class someClass = cls.loadClass(“TargetClass”); Второй использует Class.forName () для загрузки указанного classа Class cls = Class.forName(“TargetClass”); В чем разница между вышеупомянутыми подходами. Какой из них служит для этой цели?

Почему рекомендуется использовать reflection в .NET?

Это определенно хорошая практика, чтобы использовать его? Каковы возможные ситуации в проекте, которые нуждаются в размышлении?

Как передать функцию в качестве параметра в C #?

Можно ли передать функцию в качестве параметра в C #? Я могу сделать это, используя classы Func или Action, но это заставляет меня сразу объявить всю подпись функции. Когда я пытаюсь использовать Delegate, я получаю ошибку компиляции, говоря, что он не может преобразовать группу методов в делегат. Я работаю над Axial, и я пытаюсь разрешить […]

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

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

Используя reflection, как вы устанавливаете значение поля struct?

с грубым временем работы с полями структуры с использованием пакета reflect . в частности, не выяснили, как установить значение поля. type t struct {fi int; строка fs} var rt = t {123, “jblow”} var i64 int64 = 456 получение Название поля i – это, похоже, работает var field = reflect.TypeOf(r).Field(i).Name получение значения поля i как […]

Давайте будем гением компьютера.