Описание тега dynamicmethod

DynamicMethod - это класс.Net, который можно использовать для определения метода во время выполнения с помощью CIL.
1 ответ

Замените ссылку на параметр, не используя ключевое слово ref (используя IL)

Я ищу, чтобы иметь возможность заменить ссылку на объект параметра без использования ключевого слова ref. Причина, по которой я избегаю использования ref, заключается в сохранении вызова инициализатора коллекции, который ищет Add(T item) метод, и мн…
26 июл '11 в 21:11
1 ответ

Разрешение токенов, найденных в IL, динамическим методом

Спасибо Хансу Пассанту, который ответил на мой вопрос: как мне получить байтовый массив IL от DynamicMethod? Я смог встать и бежать. Сейчас я пытаюсь разрешить токены метаданных, обнаруженные в излучаемом IL, чтобы узнать, какие методы вызываются, а…
10 ноя '10 в 19:31
2 ответа

DynamicMethod для ConstructorInfo.Invoke, что мне нужно учитывать?

У меня вопрос такой: Если я собираюсь построить объект DynamicMethod, соответствующий вызову ConstructorInfo.Invoke, какие типы IL мне нужно реализовать, чтобы справиться со всеми (или большинством) типами аргументов, когда я могу гарантировать, что…
29 дек '09 в 14:27
1 ответ

Выражение для сопоставления одного объекта другому с одинаковыми свойствами

Я пытаюсь создать простой картограф с помощью Expression по этому коду: public static class MyUtility { public static Action<TSource, TTarget> BuildMapAction<TSource, TTarget>(IEnumerable<PropertyMap> properties) { var sourceInstan…
22 окт '17 в 08:36
1 ответ

Струнный строитель в CIL (MSIL)

Я пытаюсь сгенерировать код, который принимает StringBuilder и записывает значения всех свойств класса в строку. У меня есть следующее, но в настоящее время я получаю "Недопустимый токен метода" в следующем коде: public static DynamicAccessor<T&g…
20 окт '09 в 20:08
1 ответ

C# + Использование динамического метода с атрибутом

[CustomAttribute] public bool IsGreen() { return true; } Как можно написать выше, используя DynamicMethod в C#? ОБНОВИТЬ; за casperOne вы не можете сделать это с пользовательским атрибутом. Но как насчет нестандартного атрибута, такого как: [Conditi…
09 авг '10 в 15:18
0 ответов

Сравнение с шаблоном регулярного выражения в IEnumerable<T> вместо строковых символов в C#

Я пытаюсь изменить список инструкций кода CIL в C#. Общие задачи включают в себя поиск групп или шаблонов инструкций и замену их другими инструкциями при повторном использовании некоторой информации из исходного соответствия. Это звучит очень похоже…
31 май '18 в 17:44
1 ответ

Как использовать SuperObject для вызова методов, которые используют объект в качестве параметра в Delphi?

Мы можем использовать библиотеку SuperObject, чтобы вызывать методы определенного объекта по его имени и задавать его параметры в виде строки json, используя метод SOInvoker, как в этом ответе. Я хотел бы знать, как я могу отправить созданный объект…
1 ответ

C# вызывает публичный нестатический метод, используя отражение без создания экземпляра его класса

Возможно ли в C# вызвать метод (нестатический) без создания экземпляра его класса, например: public class MyClass { public void MyMethod() { Console.WriteLine("method called"); } } Я пробовал этот метод с использованием пространства имен System.Refl…
17 июн '11 в 14:10
1 ответ

Простые сгенерированные команды MSIL "Операция может дестабилизировать среду выполнения"

Я создал очень простую функцию, которая делает следующее: public static object[] ToArray(int ID) { return new object[4]; } Это код, который генерирует MSIL. Почему это вызывает исключение "Операция может дестабилизировать среду выполнения"? Я не мог…
23 фев '13 в 14:52
1 ответ

Как вызвать динамический метод для возврата квадрата числа?

Я хочу создать простой динамический метод, который возвращает квадрат целого числа (т. Е. - если число равно 5, оно должно возвращать 25).Я написал код ниже:- class Square { public int CalculateSquare(int value) { return value * value; } } public cl…
2 ответа

Создание DynamicMethod для установки поля только для чтения для любого типа

Моя цель - создать делегата во время выполнения, который может установить любое поле (включая readonly) в любом типе ссылки на указанное пользователем значение. К сожалению, моя текущая реализация VerificationException во время выполнения, когда сбо…
26 апр '17 в 23:56
2 ответа

DynamicMethod NullReferenceException

Может кто-нибудь сказать мне, что не так с моим кодом IL здесь? IL_0000: nop IL_0001: ldarg.1 IL_0002: isinst MyXmlWriter IL_0007: stloc.0 IL_0008: ldloc.0 IL_0009: ldarg.2 IL_000a: ldind.ref IL_000b: unbox.any TestEnum IL_0010: ldfld Int64 value__/…
12 мар '10 в 17:40
1 ответ

Создать DynamicMethod из инструкции Action<T>

Я играю с DynamicMethod и стремлюсь сделать следующее: У меня есть действие, из которого я получаю код IL в виде байтов, используя GetILAsByteArray(), Из этого байта я хотел бы создать динамический метод и выполнить. Вот пример того, что я пытаюсь с…
20 окт '16 в 09:11
1 ответ

Добавление описания к динамически генерируемым методам в Reflection.Emit

Я использовал Reflection.Emit для динамической генерации некоторых типов и методов. Все работает хорошо, но я хочу включить некоторую описательную информацию в метод, чтобы другие могли использовать его более легко. Вы могли бы сделать это, включив …
07 мар '12 в 21:24
1 ответ

Вызовите метод, когда происходит общее событие

Я сталкиваюсь с проблемой при попытке реализовать вызов метода, вызванного событием, которое должно быть определено во время выполнения. Я нашел этот ответ: Перенаправление на динамический метод из универсального обработчика событий и реализовал это…
03 дек '15 в 15:13
0 ответов

Вызов метода через DynamicMethod - Reflection.Emit

У меня есть немного измененный класс этого ответа, чтобы динамически вызывать TryParse различных типов (char, int, long). public delegate TRet DynamicMethodDelegate&lt;TRet&gt;(object target, params object[] args); public delegate void DynamicMethod…
1 ответ

Как передать параметр Struct при вызове динамического метода в C#?

У меня проблемы с передачей параметра структуры в динамическом методе. Вот мой код: public class Program { static void Main(string[] args) { var DynamicAssembly = new AssemblyName(); DynamicAssembly.Name = "DynamicTypes"; AssemblyBuilder ab = Assemb…
20 дек '18 в 03:32
1 ответ

Какой самый простой способ добавить состояние в DynamicMethod CLR?

Я делаю небольшую генерацию кода с помощью DynamicMethod, и у меня есть проблема, которая может быть легко решена путем добавления небольшого состояния, например поля. К сожалению, я не могу вставить это состояние в один из параметров метода, поэтом…
5 ответов

Как я могу объединить несколько выражений в быстрый метод?

Предположим, у меня есть следующие выражения: Expression&lt;Action&lt;T, StringBuilder&gt;&gt; expr1 = (t, sb) =&gt; sb.Append(t.Name); Expression&lt;Action&lt;T, StringBuilder&gt;&gt; expr2 = (t, sb) =&gt; sb.Append(", "); Expression&lt;Action&lt;T…
10 мар '10 в 17:24