The C# Meta Programming Roadmap

preview_player
Показать описание
The C# meta programming roadmap or reference.

# Interpreter

# Reflection

# Expression Api

# Source Generators

# Roslyn Compiler

# IL Generation

# Dynamically Imported Modules

# IL Weaving

Timestamps
00:00 Introduction
00:35 What is Meta Programming?
01:41 Interpreter
02:25 Reflection
03:43 Expression Api
05:15 Source Generators
06:21 Roslyn Compiler
08:08 IL Generation
08:40 Dynamic Module Loading
09:29 IL Weaving (MISL Injection)
10:52 T4 Templating
11:56 Fin

#csharp #metaprogramming #advanced
Рекомендации по теме
Комментарии
Автор

Very much appreciate this video, thanks

AdvaitaX
Автор

One thing that wasn't necessarily covered explicitly was Design Time metaprogramming (rather then compile time, which is what source generators do).

The traditional way to do design time metaprogramming is to construct the text programmatically with either a string builder or T4 templates, but the more modern approach is to use the Roslyn Syntax API alongside Roslyn's Workspace API to modify project code directly. This is particularly useful when you are building a library from a predefined specification. As an example, I use it in my own game engine to generate Vulkan bindings directly from the Vulkan API Registry.

jamesmussett
Автор

7:18 An important restriction: AFAIK Roslyn cannot run in a single-threaded environment; expression trees can.

zevspitz
Автор

Snippets. You can build snippets together with a string builder api to put together entire classes. The snippets can have replacement hooks such as specific strings. Its so much easier to read and write and its mostly compile time checkable.

mksuprafy
Автор

Please tell me that's not your butt on the wall in the background.

das_fahrer
visit shbcf.ru