> compile-time reflection
> use a C# program to generate C code
These seem at odds.
you call the C# program that generates the code as part of your build system
I get it. That's code generation. But it's not compile time reflection.
you call the C# program that generates the code as part of your build system
I get it. That's code generation. But it's not compile time reflection.