You may also want to look at the mechanisms in the compiler for `member`, 
`virtual` and `constructor` see 
<https://nim-lang.github.io/Nim/manual_experimental.html#virtual-pragma>

They should translate pretty well to C#, especially `member` and `virtual`. 
Interfacing with generics can be more painful but C++ paved the way 
<https://nim-lang.org/docs/manual.html#importcpp-pragma-importcpp-for-procs>

For other things you can go pretty far without modifying the compiler with 
macros and the `emit` pragma 
<https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-emit-pragma>

Reply via email to