Thrift: C# Bindings.

Summary:
C# generator, library, and MS Build task contributed by imeem.

Reviewed By: mcslee

Test Plan:
Built the Thrift compiler and generated some C# code.
I'd love to say I installed Mono or Portable.NET and built the C# code,
but I did not.

Revert Plan: ok


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665421 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index 9475adf..5be19b3 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -89,6 +89,7 @@
 %token tok_smalltalk_category
 %token tok_smalltalk_prefix
 %token tok_cocoa_prefix
+%token tok_csharp_namespace
 
 /**
  * Base datatype keywords
@@ -331,6 +332,13 @@
         g_program->set_xsd_namespace($2);
       }
     }
+| tok_csharp_namespace tok_identifier
+   {
+     pdebug("Header -> tok_csharp_package tok_identifier");
+     if (g_parse_mode == PROGRAM) {
+       g_program->set_csharp_namespace($2);
+     }
+   }
 
 Include:
   tok_include tok_literal