I'm thinking we should add an extra layer here to follow the Razor format a bit better.  It'll be cleaner in the long run.

MvcCSharpChunkVisitor : CodeVisitor<CSharpCodeWriter>
- override Accept(Chunk chunk) // Do exactly what you're doing in this file in this method
- abstract void Visit(InjectChunk chunk); // Just a signature

Then finally InjectCodeVisitor : MvcCSharpChunkVisitor
- override void Visit(InjectChunk chunk) { // Do your inject chunk magic }

Ultimately there's no need to have a generic MvcCSharpCodeVisitor yet because we don't add anything Mvc specific that is added directly to the body of the execute method that's "new".