This is an old handwritten C# parser from 2006-8, but may be useful for looking at. Supports C#2.0 (generics).
This was originally a project at codeplex https://csparser.codeplex.com
This C# parser was originally created by Robin Debreuil in December 2006. It has since been enhanced by many people, including Denis Erchoff, Moritz Kroll and Christoph Mallon.
It is released under the BSD licence.