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/parse/t_program.h b/compiler/cpp/src/parse/t_program.h
index dc8c80c..66f0620 100644
--- a/compiler/cpp/src/parse/t_program.h
+++ b/compiler/cpp/src/parse/t_program.h
@@ -152,6 +152,14 @@
     return java_package_;
   }
 
+  void set_csharp_namespace(std::string csharp_namespace) {
+    csharp_namespace_ = csharp_namespace;
+  }
+
+  const std::string& get_csharp_namespace() const {
+    return csharp_namespace_;
+  }
+
   void set_xsd_namespace(std::string xsd_namespace) {
     xsd_namespace_ = xsd_namespace;
   }
@@ -267,6 +275,9 @@
   std::string smalltalk_category_;
   // Smalltalk prefix
   std::string smalltalk_prefix_;
+
+  // C# namespace
+  std::string csharp_namespace_;
 };
 
 #endif