0
ответов

В чем смысл MethodImplOptions.InternalCall?

Многие методы в BCL отмечены атрибутом [MethodImpl(MethodImplOptions.InternalCall)]. Это указывает на то, что «метод реализован в самой общеязыковой среде выполнения». Что...
вопрос задан: 22 June 2012 17:19
0
ответов

Почему компилятор добавляет ненужную локальную переменную

Этот код C#: private void LoadAssignments(AssignmentTypeassignmentType, Collectionassignments) { bool flag; Уроки DataTable = this.GetResults(assignmentType)...
вопрос задан: 22 June 2012 00:14
0
ответов

Отладка в .NET в режиме Release

Некоторое время назад я читал статью по CLR, где автор показал, что если проект компилируется в режиме DEBUG, то перед каждым оператором приходит команда NOP, что позволяет отлаживать код. Тем не менее, сегодня...
вопрос задан: 15 June 2012 18:11
0
ответов

Проверять, вызывает ли конструктор другой конструктор

Во время отражения возможно ли в C#проверять, вызывает ли один конструктор другой? класс Тест { public Test():this(false ){ } public Test(bool inner ){ } } Я хотел бы...
вопрос задан: 12 June 2012 22:11
0
ответов

Почему директива .MaxStack является необязательной в коде MSIL?

В свободное время я изучаю ассемблер. Кто-нибудь может объяснить, почему .maxstack кажется необязательным в этой программе. Я пытался найти ответ в Интернете и в своей книге, но безуспешно, т.е....
вопрос задан: 16 May 2012 06:11
0
ответов

Как перевести «по умолчанию (SomeType )» из C #в CIL?

В настоящее время я работаю над проблемой, связанной с генерацией кода System.Reflection.Emit. Я пытаюсь выяснить, какой CIL испускать в местах, где я бы использовал по умолчанию (SomeType )в C #. Я запустил несколько...
вопрос задан: 1 May 2012 16:03
0
ответов

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

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

.NET 4.5 MethodBuilder.SetMethodBody

4.5 класс MethodBuilder имеет метод SetMethodBody, который, как мне кажется, является именно тем, что я рассматриваю в качестве альтернативы использованию ILGenerator...
вопрос задан: 10 March 2012 04:54
0
ответов

Отражение.Emit.ILGenerator Exception Handling Инструкция «Leave»

Во-первых, немного справочной информации: я делаю компилятор для школьного проекта. Он уже работает, и я трачу много усилий на исправление ошибок и/или оптимизацию. Недавно я столкнулся с проблемой...
вопрос задан: 10 March 2012 01:14
0
ответов

Где я могу найти список экранированных символов в строковых константах MSIL?

Я написал программу (на C #), которая считывает и управляет созданными программами MSIL из программ на C #. Я ошибочно предположил, что правила синтаксиса для строковых констант MSIL такие же ...
вопрос задан: 2 February 2012 13:48
0
ответов

Являются ли коды операций MSIL атомарными?

Я немного поигрался с декомпилятором MSIL - ILDASM и попытался декомпилировать простой метод .NET. Коды операций выглядели примерно так: .method private hidebysig static int32 Add (int32 a, ...
вопрос задан: 31 January 2012 19:56
0
ответов

Встраивание метода ILGenerator

Дан следующий код: using System; using System.Reflection.Emit; с помощью System.Diagnostics; using System.Reflection; пространство имен ConsoleApplication1 {class A {public int Do (int n) ...
вопрос задан: 31 December 2011 09:21
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
ответов

Есть ли API для проверки MSIL динамической сборки во время выполнения?

при использовании рефлексии .emit для создания сборки во время выполнения, я хотел бы проверить сборку MSIL перед сохранением диска. Как Peverify, но во время выполнения. Есть ли такое API?
вопрос задан: 8 December 2011 17:14
0
ответов

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

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

Зачем использовать имя 'op_Addition' для оператора '+', а не имя '+'?

Когда вы перегружаете оператор, такой как operator +, скомпилированный CIL выглядит примерно так: .method public hidebysig specialname static bool op_Addition (. ..) {...} Зачем использовать имя op_Addition ...
вопрос задан: 21 October 2011 14:36
0
ответов

Интересное поведение базового класса Linq to SQL

Это вопрос о InvalidOperationException с сообщением Class member X is unmapped. Одна из наших систем имеет одну и ту же базовую сущность для каждой сущности LinqToSql с фреймворком версии 3.5. Я столкнулся с ...
вопрос задан: 6 October 2011 21:16
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
ответов

Динамически заменить содержимое метода C #?

Что я хочу сделать, это изменить, как метод C # выполняется, когда он называется, так что я могу написать что-то подобное: [распределен] Public DTASK Решить (int n, degent callback) {...
вопрос задан: 4 September 2011 12:39
0
ответов

что означает «размер кода» в MSIL

Когда вы видите строку в IL вроде: // Размер кода 25 (0x19), что на самом деле означает «нить» ? Это говорит об использовании (байтах) памяти? Все, что я смог собрать, это то, что это на единицу больше, чем ...
вопрос задан: 30 June 2011 03:28
0
ответов

LLVM CIL и бэкэнд Java Bytecode [закрыто]

Я видел проект http://vmkit.llvm.org/, но это не совсем то, что я ищу.Не хочу, чтобы мой код запускался на еще одной виртуальной машине, но на виртуальных машинах .NET и Java. Существуют ли какие-либо серверные части компилятора для LLVM ...
вопрос задан: 29 June 2011 21:29
0
ответов

фиксированный оператор в C # и управляемый указатель в коде IL

В небезопасном коде в C # я назначил указатель на управляемую переменную тип массива: int [] array = new int [3]; ... фиксированный (int * ptr = array) {// какой-то код } Затем я посмотрел на соответствующую часть ...
вопрос задан: 25 June 2011 21:03
0
ответов

Как дженерики реализуют структуры?

Я думал об этом. классы явно передаются ptr. Я подозреваю, что структуры передаются путем копирования, но я точно не знаю. (Кажется, что массив int имеет ...
вопрос задан: 21 June 2011 21:11
0
ответов

Есть ли способ подключить управляемую функцию в C #, как неуправляемую функцию в C ++?

В C ++ я бы получил адрес функции и перезаписал первые несколько байтов в jmp для моей функции, сделал бы кое-что, восстановил исходные байты и вызвал исходную функцию. Могу я что-нибудь сделать ...
вопрос задан: 29 May 2011 18:23
0
ответов

дизассемблировать код C # в машинные инструкции

Я экспериментирую с производительностью компилятора. У меня очень маленький фрагмент кода, всего несколько операций умножения и сложения с плавающей запятой. Код выполняется в цикле несколько миллионов раз. Я ...
вопрос задан: 14 May 2011 11:46
0
ответов

Возможная ошибка в оптимизаторе JIT C #?

Работая над классом SQLHelper для автоматизации вызовов хранимых процедур аналогично тому, как это делается в библиотеке XmlRpc.Net, я столкнулся с очень странной проблемой при запуске метода, созданного вручную ...
вопрос задан: 11 May 2011 13:26
0
ответов

Тип Mono.Cecil.IsAssignableFrom (производныйType) эквивалент

Я использую Mono.Cecil для поиска типов в Сборки, производные от данного. Обычно это можно сделать с помощью метода IsAssignableFrom (), но я не могу найти его эквивалент в Cecil. Есть ли такие ...
вопрос задан: 15 April 2011 14:50
0
ответов

Create a catch-all handler for all events and delegates in C#

I want to create a handler that can be used to handle any event or delegate. Specifically, I want to be able to write code like below: class Invoker {public object Invoke (object [] arg) {...
вопрос задан: 14 April 2011 04:59
0
ответов

Какая комбинация ограничений общих параметров заставит компилятор C # генерировать строки для таблицы метаданных GenericParamConstraint?

Согласно спецификации метаданных Partition II для таблицы GenericParamConstraint для CLR, В таблице GenericParamConstraint записываются ограничения для каждого универсального параметра. Каждый ...
вопрос задан: 5 April 2011 10:41