Вопросы по теме 'reflection.emit'
Заменить поле свойством, используя пространство имен System.Reflection.Emit?
Я пытаюсь найти способ использовать пространство имен Reflection.Emit для удаления поля и замены его собственной реализацией свойства. Я читал о том, как генерировать код с помощью Emit, а также писать и компилировать код IL напрямую, но я не видел...
1308 просмотров
schedule
06.08.2022
Reflection.Emit против CodeDOM
Какие плюсы и минусы использования библиотеки Reflection.Emit по сравнению с CodeDOM для динамической генерации кода во время выполнения?
Я пытаюсь создать некоторые (относительно сложные) динамические классы в системе на основе метаданных,...
14353 просмотров
schedule
09.09.2022
Использование Reflection.Emit для создания блока using (x) {}?
Я пытаюсь использовать Reflection.Emit в С# для создания блока using (x) { ... } .
В тот момент, когда я нахожусь в коде, мне нужно взять текущую вершину стека, которая является объектом, который реализует IDisposable, сохранить его в локальной...
992 просмотров
schedule
29.12.2023
Клонирование/копирование получить тело аксессора в новый тип
Я создаю новый тип в динамической сборке из существующего типа, но с включением только выбранных свойств:
public class EmitTest
{
public Type Create(Type prototype, Type dynamicBaseType, List<string> includedPropertyList)
{...
1297 просмотров
schedule
17.05.2023
TypeBuilder с DataContract и DataMembers
Я создаю динамический тип на лету с атрибутом DataContract и DataMembers. Я проверил, что тип генерируется правильно с атрибутами DataContract и DataMember, используя отражение сгенерированного типа.
Затем я на лету генерирую тип ServiceContract,...
447 просмотров
schedule
31.10.2022
Генерация IL для 2D-массивов
Я хочу сгенерировать IL для построения двумерного массива, используя пространство имен System.Reflection.Emit .
Мой код С#
Array 2dArr = Array.CreateInstance(typeof(int),100,100);
Используя ildasm , я понял, что для приведенного выше...
575 просмотров
schedule
19.05.2023
Снижение производительности Reflection.Emit
Я рассматриваю возможное решение проблемы, над которой я работаю (приложение .NET 3.5 WinForms).
В нашем приложении у нас есть много методов (C#), аргументы которых вводятся пользователем приложения.
Примером может быть что-то вроде:
public...
1513 просмотров
schedule
07.07.2022
Передача объектов класса через разные версии сборки
Сценарий выглядит так -
У меня есть сборка с надписью «MyAssembly». В этой сборке определен интерфейс «IMyInterface».
В той же сборке у меня есть один класс (MyClass) с методом, определенным в нем как:
public void MyMethod (объект...
2541 просмотров
schedule
14.05.2024
Код Reflection.Emit вызывает base. вместо этого. на логическом поле
У меня есть следующий класс A.
public class A
{
public string Name { get; set; }
}
Мне нужно создать динамический прокси-сервер, используя Reflection.Emit, чтобы переопределить Equals.
// This class must be generated by...
456 просмотров
schedule
17.09.2022
Получить динамические элементы и SetValue из объекта взаимодействия
У меня есть этот объект взаимодействия, который появляется как System.__ComObject, и я хочу установить значения, используя имя переменной:
SetValue(fieldname) = fieldvalue;
Мне также нужно проверить динамические элементы, чтобы увидеть, что...
330 просмотров
schedule
03.08.2022
Внедрить byte[], экспортированный из MethodInfo.GetMethodBody()
Мне было интересно, возможно ли вставить код byte[], который ранее был экспортирован из метода через GetMethodBody(), обратно, что означает, что он снова может быть исполняемым кодом. Если бы кто-то мог написать довольно простой пример или...
875 просмотров
schedule
14.04.2022
Можно ли создать метод в существующем типе во время выполнения?
Возможный дубликат: Можно ли добавить метод в СУЩЕСТВУЮЩИЙ класс во время выполнения? почему или почему нет?
Мой вопрос довольно тривиален, но ответа может и не быть ;)
Можно ли создать новый метод в существующем типе во время...
87 просмотров
schedule
22.12.2022
Почему этот DynamicMethod (ldarg.1, newobj, ret) вызывает исключение VerificationException?
У меня есть этот метод, который оборачивает конструктор в динамический фабричный метод:
static Func<TArg1, TResult> ToFactoryMethod<TArg1, TResult>(this ConstructorInfo ctor)
where TResult : class
{
var factoryMethod = new...
893 просмотров
schedule
05.04.2023
Как создать событие во время выполнения
Я хочу сгенерировать (испустить) класс, который реализует интерфейс во время выполнения с помощью С#.
Мне удалось сгенерировать методы и свойства, но мне не удалось сгенерировать событие.
Вот код, который я хочу выдать:
Пространство имен:...
1883 просмотров
schedule
14.03.2023
Низкая производительность DynamicMethod
Я попытался улучшить производительность некоторого фрагмента кода в своем проекте, сгенерировав IL специально для этой задачи.
В настоящее время эта задача выполняется путем выполнения цикла for над элементами массива и запуска различных методов...
1398 просмотров
schedule
21.10.2023
Сгенерированный MSIL выдает ошибку Common Language Runtime.
Я пытаюсь написать динамический метод, который делает клон словаря ‹,>. Код, представленный ниже, выдает исключение:
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
--->...
1957 просмотров
schedule
02.05.2022
Как создать метод с предварительно загруженной локальной переменной MethodInfo?
Я хотел бы создать метод с переменной, что я могу сделать. Но я хотел бы сохранить в этой переменной объект MethodInfo, который является ссылкой на другой (не испускаемый) метод.
Я мог бы испустить коды операций для вызова typeof (someClass)...
993 просмотров
schedule
08.04.2022
Почему реализация интерфейса в Emit с явной перегрузкой ведет себя по-разному для общедоступных и непубличных?
Я давно работаю с Reflection.Emit, но на этот раз это не имеет смысла ... Где-то в моей программе я реализую интерфейсы с помощью emit. Например.:
typeBuilder.AddInterfaceImplementation(intf);
Поскольку я реализую несколько интерфейсов, а...
1108 просмотров
schedule
22.12.2022
Получение методов интерфейса из динамически загружаемого класса в .NET
У меня есть библиотека .dll, которую я пишу, которая взаимодействует с проприетарной сборкой COM. Моя цель - опубликовать свою работу в Интернете после ее создания, однако мне нужно удалить сборку COM в качестве ссылки на проект, чтобы избежать...
1213 просмотров
schedule
24.07.2022
Выброс отражения: как преобразовать экземпляр атрибута в CustomAttributeBuilder или CustomAttributeData
Я создал класс генератора, который создает прокси-класс на основе интерфейса, который реализует интерфейс.
См. мой пост о Создание класса прокси на основе интерфейса без его реализации .
Я знаком с...
4556 просмотров
schedule
11.01.2023