0
ответов

Есть ли какой-нибудь IL-редактор для изменения байт-кода сборки?

Я обнаружил некоторые дефекты в устаревших сторонних сборках, которые мы используем в нашем коде для их декомпиляции. Я хотел бы исправить их, но поскольку у меня нет исходного кода, мне нужно напрямую изменить...
вопрос задан: 27 April 2012 10:29
0
ответов

Является ли MSIL таким же, как управляемый код в.NET?

Меня смущают MSIL и управляемый код. Это одно и то же или разные? Я хочу сказать, что происходит, когда мы создаем наш код C #? Какой из них правильный C #Код → Компилятор C #→ Управляемый код → MSIL или C #...
вопрос задан: 24 April 2012 12:11
0
ответов

Как изучить IL в среде CLR

Поскольку эти коды IL я вижу чаще, мне нравится учиться правильно их интерпретировать. Я не смог найти документацию вроде компилятора C#или какой-либо другой, поэтому я думаю, что могу позаботиться обо всем остальном...
вопрос задан: 21 April 2012 15:38
0
ответов

Почему компилятор C #создает вызов метода для вызова метода BaseClass в IL

Допустим, у нас есть следующий пример кода на C #:class BaseClass { public virtual void HelloWorld (){ Console.WriteLine ("Привет, Тарик" ); } } class DerivedClass :BaseClass {...
вопрос задан: 19 April 2012 13:57
0
ответов

Реализует ли ldstr внутреннюю реализацию newobj?

Как мы все знаем, строки создаются неявно, а это означает, что нам не нужно использовать new, чтобы получить ссылку на объект из единицы. Из-за этого я всегда считал, что фреймворк...
вопрос задан: 11 April 2012 17:45
0
ответов

раскрывая методы C#неуправляемым

этот подход в «возможном дублировании» отличается от того, что описан в книге. Подход книги заключается в расширении управляемой.dll после компиляции с помощью процесса декомпиляции и повторной компиляции. Подход, который...
вопрос задан: 22 March 2012 13:42
0
ответов

дженерики с IL?

Можно ли использовать дженерики с генератором IL? Метод DynamicMethod = новый DynamicMethod("GetStuff", typeof(int), new Type[] { typeof(object)}); ILGenerator il = ...
вопрос задан: 21 March 2012 20:15
0
ответов

Почему LocalBuilder.SetLocalSymInfo не выдает имена переменных?

Я попробовал запустить пример кода, который находится на странице документации для класса System.Reflection.Emit.LocalBuilder, но оказалось, что вызовы LocalBuilder.SetLocalSymInfo(string, int, int)...
вопрос задан: 15 March 2012 21:00
0
ответов

Могу ли я заставить компилятор оптимизировать определенный метод?

Есть ли атрибут, который я могу использовать, чтобы сообщить компилятору, что метод всегда должен быть оптимизирован, даже если глобальный переключатель компилятора /o+ не установлен? Я спрашиваю потому, что играю с идеей...
вопрос задан: 13 March 2012 14:12
0
ответов

Инструмент для легкой проверки IL кода

Иногда мне хочется быстро посмотреть IL представление моих фрагментов кода на C#, чтобы понять, что именно происходит с различными операторами кода под капотом, как это сделано, например, здесь. I ...
вопрос задан: 26 January 2012 22:14
0
ответов

Ссылочные типы - можем ли мы увидеть реальную ссылку?

Разница между ссылочными типами и типами значений часто сбивает с толку новичков из-за того, что они не понимают, что на самом деле содержит переменная типа значения. Мы знаем, что: Типы значений хранят ...
вопрос задан: 11 January 2012 16:34
0
ответов

Общий синтаксический сахар или настоящее улучшение

У меня есть вопрос относительно следующих вызовов методов: var ctl1 = this.FindControlRecursively ("SomeField") as HiddenField; var ctl = this.FindControlRecursively ("SomeField"); ...
вопрос задан: 29 December 2011 20:24
0
ответов

Передача IL в вызовите Math-функцию

; вызовите C # Math.Pow (2,3); в ILDASM: ldc.r8 2. ldc.r8 3. call float64 [mscorlib] System.Math :: Pow (float64, float64) Кто-нибудь, пожалуйста, скажите мне, как испустить этот оператор вызова через ...
вопрос задан: 10 December 2011 19:34
0
ответов

Создание метода динамически и его выполнение

Предыстория: Я хочу определить несколько статических методов в C#, и сгенерировать IL код в виде массива байт, из одного из этих методов, выбранного во время выполнения (на клиенте), и отправить массив байт по сети другому...
вопрос задан: 19 November 2011 14:06
0
ответов

Почему компилятор C # генерирует дополнительные коды операций в IL?

Если у меня есть метод Multiply, определенный как: public static class Experiment {public static int Multiply (int a, int b) {return a * б; } } Тогда почему компилятор выдает этот IL: ....
вопрос задан: 6 October 2011 09:51
0
ответов

cecil: Типы Instruction.Operand, соответствующие значению Instruction.OpCode.Code

Есть ли какая-либо документация или часть исходного кода cecil, с которой я могу проконсультироваться, чтобы получить исчерпывающее представление о том, какие типы операндов будет использовать cecil для данного значения кода? Например: я могу почерпнут
вопрос задан: 27 September 2011 21:46
0
ответов

Как отредактировать жестко закодированную строку в скомпилированной DLL?

У меня есть одна скомпилированная dll, которую мне нужно немного изменить. Она была написана мной пол года назад, но я потерял исходный код. В ней есть одна единственная жестко закодированная строка (это имя файла), которую мне нужно ...
вопрос задан: 27 September 2011 10:01
0
ответов

Почему такая разница в IL между IF и условным оператором?

C # имеет условный оператор, а если операторы, и я подозревал, что условный оператор будет просто синтаксическим сахаром. Таким образом, в компиляционном времени он будет такой же, как и операция. Однако ...
вопрос задан: 5 September 2011 13:41
0
ответов

Почему создается .ctor (), когда я компилирую код C # в IL?

С помощью этого простого кода C # я запускаю csc hello.cs; ildasm /out=hello.txt hello.exe. класс Привет {public static void Main () {System.Console.WriteLine ("привет"); } } Это код IL ...
вопрос задан: 29 August 2011 20:29
0
ответов

] Сгенерированные различия IL для VB.NET и C # [

] Сегодня я играл с Entity Framework и прочитал, что сгенерированный IL для C # отличается от VB.NET для следующих code: VB.NET: Dim ctx As New TravelEntities Sub Main () ... [
вопрос задан: 26 August 2011 12:06
0
ответов

Инструкции IL, не предоставляемые C #

Какие инструкции IL не предоставляются C # ? Я имею в виду такие инструкции, как sizeof и cpblk - не существует класса или команды, выполняющей эти инструкции (sizeof в C # вычисляется при компиляции ...
вопрос задан: 18 August 2011 18:28
0
ответов

Как генерировать OpCodes.Constrained с OpCodes.Callvirt при условии, что у меня есть необходимые MethodInfo и тип экземпляра под рукой

У меня есть рекурсивная функция emit: Map -> exp -> unit, где il: ILGenerator является глобальным для функции, а exp - дискриминантное объединение, представляющее проверенный тип ...
вопрос задан: 30 July 2011 20:27
0
ответов

Генерация IL для анонимных методов

Я хочу сгенерировать IL для многопоточного приложения. В качестве первого шага я написал простое приложение и проверил, сгенерировал IL с помощью ILSpy. открытый класс ThreadTesting {public static void ...
вопрос задан: 24 July 2011 02:12
0
ответов

Преобразование кода C # в код IL

Как я могу получить код IL кода C #? Могу ли я сделать это с помощью внешней библиотеки или существующих внутренних функций? РЕДАКТИРОВАТЬ: я хочу отображать код IL в моем приложении с помощью MessageBox .
вопрос задан: 4 July 2011 18:28
0
ответов

Генерация IL для рекурсивных методов

Я попытался сгенерировать IL для рекурсивного метода, используя следующую стратегию: Сначала я определил тип, используя следующий фрагмент кода private void InitializeAssembly (string outputFileName) {...
вопрос задан: 27 June 2011 07:30
0
ответов

Что небезопасно в этом коде?

Я изучаю управляемый и неуправляемый код в среде CLR. Поэтому я написал этот пример с указателями в стиле C на C #: unsafe static void Main (string [] args) {int x; int * y; у = & х; * y = ...
вопрос задан: 24 June 2011 18:42
0
ответов

Каково максимальное количество методов для каждого класса .NET

Название действительно спрашивает, но все же для полноты: Привет, я пишу небольшой инструмент для посткомпиляции на платформе .NET, и, пытаясь его оптимизировать, я столкнулся с вопросом, который я не могу ...
вопрос задан: 9 June 2011 16:22
0
ответов

Генерация IL для массивов double

Я пишу несколько институтов IL для создания массивов int и double с использованием пространства имен System.Reflection.Emit. Для создания массива int я использую следующий код. LocalBuilder arr = gen.DeclareLocal (...
вопрос задан: 8 June 2011 06:55
0
ответов

Генерация IL для платформы .Net

Я пишу небольшой компилятор на C # и планирую сгенерировать инструкции IL для платформы .Net с помощью System.Reflection.Emit. У меня вопрос, рекомендуется использовать System.Reflection.Emit для генерации ...
вопрос задан: 1 June 2011 05:37
0
ответов

IL: ldfld vs ldflda

I ' m пишу небольшое приложение для плетения IL с использованием Mono.Cecil, которое требует, чтобы я управлял целевой сборкой на уровне IL. Мой вопрос довольно простой, но я все еще нахожу этот вопрос очень запутанным ....
вопрос задан: 29 April 2011 18:16