Вопросы по теме 'ilgenerator'

Использование System.Reflection.Emit.ILGenerator для вызова Random в VB.Net?
Я генерирую вывод для исполняемого файла .Net с моего собственного языка ... код операции (называемый «Случайный»), который переводится с моего языка, должен создавать случайное число в определенном диапазоне. Цель моего кода - создать случайное...
700 просмотров
schedule 19.02.2022

Метод вызова ILGenerator для поля из свойства
Я пытаюсь написать код в ILGenerator, который облегчил бы ленивую загрузку. часть, с которой у меня возникли проблемы, - это метод загрузки, обнаруженный в частном поле в классе, создаваемом с использованием TypeBuilder. то, что я пытаюсь...
152 просмотров
schedule 03.03.2022

Могу ли я использовать OpCodes.Ldsfld без использования FieldInfo?
Я хочу избежать использования GetType и GetField. Могу ли я просто использовать строку с Ldsfld? Я включил макет того, что я пытаюсь сделать ниже. Как видите, я новичок в IL Generation — я пытаюсь убрать часть затрат на отражение в своем...
272 просмотров
schedule 18.03.2022

Возвратите значение изнутри попытки и поймать с помощью ILGenerator
В настоящее время я пытаюсь создать метод, который возвращал бы результат прямо внутри блока try. Эквивалентный код C# будет выглядеть примерно так: public int Foo() { try { return 1; } catch(Exception ex) {...
64 просмотров
schedule 13.09.2022

Генерация динамических событий в C# с использованием DynamicMethod и ILGenerator
Мне нужно сгенерировать обработчик событий на основе объекта EventInfo во время выполнения и вызвать метод в этом обработчике событий. Что-то вроде следующего: public void RegisterAction(ActionData actionData, EventInfo eventInfo, Control...
3537 просмотров
schedule 28.01.2023

C# — вызов делегата с параметрами string[] из динамического метода
Можно ли вызвать delegate , который принимает в качестве параметра params string[] из динамического метода? Пример: delegate string Del(params string[] arg); ... Del f = args => "Called successfully."; ... var mb =...
48 просмотров
schedule 01.01.2023