inside
-
Хабрахабр
Что происходит за кулисами С#: основы работы со стеком
Предлагаю посмотреть все то, что стоит за простыми строками инициализации объектов, вызова методов и передачи параметров. Ну и, разумеется, использование этих сведений на практике — вычитывание стека вызывающего метода. Дисклеймер Прежде, чем приступить к повествованию, настоятельно рекомендую ознакомиться с первым постом про StructLayout, т.к. там разобран пример, который будет использоваться в этой статье. JIT оптимизации — это отдельная и большая…
Читать далее » -
Хабрахабр
Пропихиваем параметры в небезопасные операции в безопасном коде
Всем привет. В этот раз продолжаем смеяться над нормальным вызовом методов. Предлагаю ознакомится с вызовом метода с параметрами без передачи параметров. Также попробуем преобразовать ссылочный тип в число — его адрес, без использования указателей и unsafe кода. Дисклеймер Прежде, чем приступить к повествованию, настоятельно рекомендую ознакомиться с предыдущим постом про StructLayout, т.к. вещи, оговоренные там, здесь повторяться не будут. Также…
Читать далее » -
Хабрахабр
[Из песочницы] Не уважаю инкапсуляцию, или использование таблицы методов другого типа для быстрого вызова приватных методов
Всем привет. Хотелось бы поделиться примером использования StructLayout для чего-то более интересного, чем примеры с байтами, интами и прочими цифрами, в которых все происходит чуть более, чем ожидаемо.Прежде, чем приступить к молниеносному нарушению инкапсуляции, стоит в двух словах напомнить, что такое StructLayout. Строго говоря, это даже StructLayoutAttribute, то бишь атрибут, который позволяет создавать структуры и классы, подобные union в С++.…
Читать далее »