C#: Added with
keyword & improved record support
#2993
+213
−87
Merged