Публикации по теме 'il'
Приключения с типами данных в ИЛ
Как я уже упоминал в своем предыдущем посте , я буду иметь дело с IL в серии статей. В этом я хотел бы работать над типами данных и объявлением переменных в IL. Я прекрасно понимаю, что решить эту проблему несложно, но важно знать, какие типы данных лежат в основе IL.
Честно говоря, большой разницы между именованием в типах данных C# и IL нет. Вторая часть этого поста будет посвящена объявлению переменных. Это большая часть любого языка, поэтому для меня это хорошая отправная..
Вопросы по теме 'il'
Получение IL-кода из бинарного файла DLL
Я изучаю ИЛ.
Мне нравится инструмент .Net Reflector от RedGate (изначально Lutz). У меня уже есть книги Сержа Лидина и Ecma-335. Похоже, это все, что нам нужно для работы с IL (кроме ILAsm и ILDasm, конечно).
Моя задача — разобрать бинарный...
3588 просмотров
schedule
25.02.2023
Поддержка Visual Studio/RAD для кодирования непосредственно в IL?
В течение долгого времени мне было любопытно программировать непосредственно на Intermediate Language в качестве академического проекта, чтобы лучше понять, что происходит «под капотом».
Предоставляет ли кто-нибудь Visual Studio поддержку *IL в...
1237 просмотров
schedule
08.07.2023
Генерация IL для 2D-массивов
Я хочу сгенерировать IL для построения двумерного массива, используя пространство имен System.Reflection.Emit .
Мой код С#
Array 2dArr = Array.CreateInstance(typeof(int),100,100);
Используя ildasm , я понял, что для приведенного выше...
575 просмотров
schedule
19.05.2023
Заменить ссылку параметра без использования ключевого слова ref (используя IL)
Я хочу заменить ссылку на объект параметра без использования ключевого слова ref.
Причина, по которой я избегаю использования ref, заключается в том, чтобы сохранить вызов инициализатора коллекции, который ищет метод Add(T item) , и мне нужно,...
538 просмотров
schedule
22.09.2022
Код 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
Есть ли способ проверить, изменило ли изменение кода двоичный файл?
Я предполагаю, что если код C# не изменится, сгенерированный IL будет одинаковым для каждой сборки. Проблема в том, что 2 EXE-файла, сгенерированные из одного и того же кода, имеют разные хеши.
Я хотел бы проверить, приводит ли изменение стиля...
233 просмотров
schedule
01.11.2022
Mono.Cecil Как определить выходной параметр
Я хочу добавить новый метод через Mono.Cecil, который имеет выходной параметр, например:
private static bool XXXXX(out Int32 a)
Я пробовал следующие коды, чтобы добавить этот параметр
TypeReference typeInt32 =...
868 просмотров
schedule
12.01.2023
Объясните мне директиву maxstack
Я скомпилировал некоторый тестовый код в режиме отладки и отразил полученную сборку с помощью ILSpy. Это IL, который я получаю:
.class private auto ansi beforefieldinit ArrayListBoxAndUnBox.Program
extends [mscorlib]System.Object
{
// Nested...
422 просмотров
schedule
14.11.2022
Измените операнд IL с помощью Mono.Cecil
Я работаю с внешней библиотекой, в которой есть ошибка. Я отследил ошибку, и это неправильное приведение, похожее на:
var projectionBufferBase = startBuffer as IProjectionBuffer;
Где это должно быть:
var projectionBufferBase =...
1418 просмотров
schedule
17.11.2022
Ошибка в коде IL с использованием Reflection.Emit
Я пишу компилятор, который генерирует .NET IL. Я пишу это на Linux Mint, используя C#/Mono.
Есть проблема с некоторым кодом, который я генерирую с помощью Reflection.Emit. Пожалуйста, извините за ужасные имена в сгенерированном коде. Ниже...
373 просмотров
schedule
25.05.2023
Почему компилятор C# переводит это сравнение != как сравнение ›?
Я случайно обнаружил, что компилятор C# превращает этот метод:
static bool IsNotNull(object obj)
{
return obj != null;
}
…в этот CIL :
.method private hidebysig static bool IsNotNull(object obj) cil managed
{
ldarg.0 // obj...
5716 просмотров
schedule
15.04.2022
ограничение неуправляемого универсального параметра в IL
Когда я компилирую следующий код:
type Class1<'T when 'T : unmanaged> =
class end
type Class2<'T> =
class end
в ИЛ это выглядит так:
.class auto ansi serializable nested public Class1`1<T> extends...
168 просмотров
schedule
25.12.2022
Выпустить код IL для загрузки десятичного значения
У меня есть подобный код для генерации кода IL, который загружает целые или строковые значения. Но я не знаю, как добавить к этому тип decimal . Он не поддерживается в методе Emit . Какие-нибудь решения для этого?
ILGenerator ilGen =...
1188 просмотров
schedule
28.09.2022