Многие методы в BCL отмечены атрибутом [MethodImpl(MethodImplOptions.InternalCall)].
Это указывает на то, что «метод реализован в самой общеязыковой среде выполнения». Что...
Некоторое время назад я читал статью по CLR, где автор показал, что если проект компилируется в режиме DEBUG, то перед каждым оператором приходит команда NOP, что позволяет отлаживать код. Тем не менее, сегодня...
Во время отражения возможно ли в C#проверять, вызывает ли один конструктор другой? класс Тест { public Test():this(false ){ } public Test(bool inner ){ } } Я хотел бы...
В свободное время я изучаю ассемблер. Кто-нибудь может объяснить, почему .maxstack кажется необязательным в этой программе. Я пытался найти ответ в Интернете и в своей книге, но безуспешно, т.е....
В настоящее время я работаю над проблемой, связанной с генерацией кода System.Reflection.Emit. Я пытаюсь выяснить, какой CIL испускать в местах, где я бы использовал по умолчанию (SomeType )в C #. Я запустил несколько...
Как мы все знаем, строки создаются неявно, а это означает, что нам не нужно использовать new, чтобы получить ссылку на объект из единицы. Из-за этого я всегда считал, что фреймворк...
4.5 класс MethodBuilder имеет метод SetMethodBody, который, как мне кажется, является именно тем, что я рассматриваю в качестве альтернативы использованию ILGenerator...
Во-первых, немного справочной информации: я делаю компилятор для школьного проекта. Он уже работает, и я трачу много усилий на исправление ошибок и/или оптимизацию. Недавно я столкнулся с проблемой...
Я написал программу (на C #), которая считывает и управляет созданными программами MSIL из программ на C #. Я ошибочно предположил, что правила синтаксиса для строковых констант MSIL такие же ...
Я немного поигрался с декомпилятором MSIL - ILDASM и попытался декомпилировать простой метод .NET. Коды операций выглядели примерно так: .method private hidebysig static int32 Add (int32 a, ...
Дан следующий код: using System;
using System.Reflection.Emit;
с помощью System.Diagnostics;
using System.Reflection; пространство имен ConsoleApplication1
{class A {public int Do (int n) ...
при использовании рефлексии .emit для создания сборки во время выполнения, я хотел бы проверить сборку MSIL перед сохранением диска. Как Peverify, но во время выполнения. Есть ли такое API?
Предыстория: Я хочу определить несколько статических методов в C#, и сгенерировать IL код в виде массива байт, из одного из этих методов, выбранного во время выполнения (на клиенте), и отправить массив байт по сети другому...
Когда вы перегружаете оператор, такой как operator +, скомпилированный CIL выглядит примерно так: .method public hidebysig specialname static bool op_Addition (. ..) {...} Зачем использовать имя op_Addition ...
Это вопрос о InvalidOperationException с сообщением Class member X is unmapped. Одна из наших систем имеет одну и ту же базовую сущность для каждой сущности LinqToSql с фреймворком версии 3.5. Я столкнулся с ...
Если у меня есть метод Multiply, определенный как: public static class Experiment
{public static int Multiply (int a, int b) {return a * б; }
} Тогда почему компилятор выдает этот IL: ....
Есть ли какая-либо документация или часть исходного кода cecil, с которой я могу проконсультироваться, чтобы получить исчерпывающее представление о том, какие типы операндов будет использовать cecil для данного значения кода? Например: я могу почерпнут
Что я хочу сделать, это изменить, как метод C # выполняется, когда он называется, так что я могу написать что-то подобное: [распределен]
Public DTASK Решить (int n, degent callback)
{...
Когда вы видите строку в IL вроде: // Размер кода 25 (0x19), что на самом деле означает «нить» ? Это говорит об использовании (байтах) памяти? Все, что я смог собрать, это то, что это на единицу больше, чем ...
Я видел проект http://vmkit.llvm.org/, но это не совсем то, что я ищу.Не хочу, чтобы мой код запускался на еще одной виртуальной машине, но на виртуальных машинах .NET и Java. Существуют ли какие-либо серверные части компилятора для LLVM ...
В небезопасном коде в C # я назначил указатель на управляемую переменную тип массива: int [] array = new int [3];
...
фиксированный (int * ptr = array)
{// какой-то код
} Затем я посмотрел на соответствующую часть ...
Я думал об этом. классы явно передаются ptr. Я подозреваю, что структуры передаются путем копирования, но я точно не знаю. (Кажется, что массив int имеет ...
В C ++ я бы получил адрес функции и перезаписал первые несколько байтов в jmp для моей функции, сделал бы кое-что, восстановил исходные байты и вызвал исходную функцию. Могу я что-нибудь сделать ...
Я экспериментирую с производительностью компилятора. У меня очень маленький фрагмент кода, всего несколько операций умножения и сложения с плавающей запятой. Код выполняется в цикле несколько миллионов раз. Я ...
Работая над классом SQLHelper для автоматизации вызовов хранимых процедур аналогично тому, как это делается в библиотеке XmlRpc.Net, я столкнулся с очень странной проблемой при запуске метода, созданного вручную ...
Я использую Mono.Cecil для поиска типов в Сборки, производные от данного. Обычно это можно сделать с помощью метода IsAssignableFrom (), но я не могу найти его эквивалент в Cecil. Есть ли такие ...
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) {...
Согласно спецификации метаданных Partition II для таблицы GenericParamConstraint для CLR, В таблице GenericParamConstraint записываются ограничения для каждого универсального параметра. Каждый ...