Описание тега il
CIL (Common Intermediate Language) is a low-level language used by Microsoft .NET Framework and Mono.
1
ответ
Замените ссылку на параметр, не используя ключевое слово ref (используя IL)
Я ищу, чтобы иметь возможность заменить ссылку на объект параметра без использования ключевого слова ref. Причина, по которой я избегаю использования ref, заключается в сохранении вызова инициализатора коллекции, который ищет Add(T item) метод, и мн…
26 июл '11 в 21:11
2
ответа
Установка подчиненного свойства объекта с помощью ILGenerator.Emit
У меня есть некоторый код, который использует IlGenerator.Emit для создания и заполнения универсального объекта с использованием устройства чтения данных. Это прекрасно работает, однако мне нужно расширить его для заполнения простых дочерних объекто…
28 сен '14 в 17:27
2
ответа
DynamicMethod для ConstructorInfo.Invoke, что мне нужно учитывать?
У меня вопрос такой: Если я собираюсь построить объект DynamicMethod, соответствующий вызову ConstructorInfo.Invoke, какие типы IL мне нужно реализовать, чтобы справиться со всеми (или большинством) типами аргументов, когда я могу гарантировать, что…
29 дек '09 в 14:27
1
ответ
Генерация IL для рекурсивных методов
Я попытался сгенерировать IL для рекурсивного метода, используя следующую стратегию. Сначала я определил тип, используя следующий фрагмент кода. private void InitializeAssembly(string outputFileName) { AppDomain appDomain = AppDomain.CurrentDomain; …
27 июн '11 в 07:30
1
ответ
Вызов метода на поле
Мне просто любопытно, как бы я вызвал метод в поле, используя Emit, У меня этот класс сгенерирован public class AClass : IDynamicProxyTestInterface { private DynamicProxy<IDynamicProxyTestInterface> proxy; public AClass(DynamicProxy<IDynami…
16 фев '13 в 07:22
1
ответ
"неуправляемое" ограничение общего параметра в IL
Когда я компилирую следующий код: type Class1<'T when 'T : unmanaged> = class end type Class2<'T> = class end в IL это выглядит так: .class auto ansi serializable nested public Class1`1<T> extends [mscorlib]System.Object .class aut…
02 апр '15 в 23:40
1
ответ
Выполнить.NET IL код в C#
Есть ли способ выполнить массив кодов IL в C#, как шелл-коды в C/C++? Я хочу создать метод, преобразовать его в код IL, запутать его, сохранить в массиве байтов и, наконец, выполнить его, расшифровать содержимое массива и выполнить код IL. Например,…
11 окт '14 в 07:03
2
ответа
Как лучше проверить, является ли данный объект определенным типом значения?
Ниже приведены 2 наиболее часто используемых подхода для проверки перед распаковкой. myObject.GetType() == typeof(MyValueType) IL_0001: callvirt System.Object.GetType IL_0006: ldtoken UserQuery.MyValueType IL_000B: call System.Type.GetTypeFromHandle…
13 июл '13 в 21:30
1
ответ
Как перевести IL Code в AST
Можно ли сгенерировать AST из кода IL? Есть только вопросы относительно перевода исходного кода (C#/vb) в ASTs ( ссылка)
13 июн '12 в 11:01
2
ответа
Как извлечь код класса IL из загруженной сборки и сохранить на диск?
Как мне извлечь код IL для классов, которые генерируются во время выполнения с помощью отражения, чтобы я мог сохранить его на диск? Если вообще возможно. У меня нет контроля над кодом, который генерирует эти классы. В конце концов, я хотел бы загру…
02 апр '11 в 15:19
1
ответ
Синтаксис ILAsm: когда команды начинаются с точки?
Некоторые команды / директивы ILAsm начинаются с точки, некоторые нет. В частности есть пара '.try' - 'catch', Есть ли правило объяснять / запоминать, когда мы используем точки (без запоминания полного списка всех случаев)?
28 окт '13 в 09:50
3
ответа
Есть ли другие цели для компиляции IL
Я почти уверен, что одной из причин компиляции языка высокого уровня в некоторый байт-код является то, что виртуальная машина (Java или.NET) может генерировать машинно-зависимые нативные инструкции. Это единственная причина? Если бы был какой-то спо…
19 сен '13 в 23:37
1
ответ
Модифицировать операнд IL с помощью Mono.Cecil
Я работаю с внешней библиотекой, в которой есть ошибка. Я выследил ошибку, это неправильное приведение, похожее на: var projectionBufferBase = startBuffer as IProjectionBuffer; Где это должно быть: var projectionBufferBase = startBuffer as IProjecti…
07 авг '14 в 18:31
1
ответ
C# IL код для добавления значения в словарь
У меня есть динамический метод, который принимает DataRecord и отображает данные на объект определенного типа. Источник от DynamicMethod_ILGenerator Объекты имеют словарь типа Dictionary<string,object> хранить любые свойства в DataRecord, кото…
12 май '11 в 00:19
1
ответ
Назначение и значение "specialname" и "rtspecialname" в IL
В настоящее время я пытаюсь понять код IL и внутренности C# специально, я написал простую мировую программу на C#, код которой: using System; class Program { public static void Main() { Console.WriteLine("Hello World"); } } и вот IL, созданный для к…
01 дек '15 в 17:57
4
ответа
Получить AST из сборки.Net без исходного кода (код IL)
Я хотел бы проанализировать сборки.Net, чтобы они не зависели от языка C#, VB.NET или чего-либо еще. Я знаю Roslyn и NRefactory, но они работают только на уровне исходного кода C#?Существует также проект " Общая инфраструктура компилятора: модель ко…
21 ноя '14 в 12:02
2
ответа
Можно ли программно проверять инструкции IL сборки, используя управляемый код?
Смотрите заголовок. Reflection.Emit, кажется, больше о создании новой динамической сборки, а не о загрузке существующей сборки и проверке ее IL.
13 май '10 в 02:17
1
ответ
Когда начинать использовать IL на более высоких языках
После просмотра нескольких проектов с открытым исходным кодом, большинство из которых были разработаны командой обмена стека. Я заметил, что несколько раз они просто пишут прямой код IL, встроенный в функцию C#. Прекрасный пример, который вы можете …
08 янв '15 в 20:23
3
ответа
Оптимизирован ли IL, генерируемый деревьями выражений?
Хорошо, это просто любопытство, не помогает никакой реальной жизни. Я знаю, что с деревьями выражений вы можете генерировать MSIL на лету, как это делает обычный компилятор C#. Поскольку компилятор может принимать решения об оптимизации, я испытываю…
14 окт '13 в 07:26
0
ответов
.Net отличается IL, но тот же вывод. Зачем?
У меня есть 2 dll ("оригинал" и "новый"), и для одного метода IL сильно отличается внутри этих 2 dll (не только о nop, но о множестве различий). Но когда я декомпилирую эти две библиотеки, тогда C# создается точно так же для этих двух. Почему это пр…
24 сен '14 в 20:31