From 333658177dad958fd3b4402d2b351b3a4c4b170f Mon Sep 17 00:00:00 2001
From: Alexander Polcyn <apolcyn@google.com>
Date: Thu, 3 Nov 2016 11:07:42 -0700
Subject: [PATCH] generate server base class as partial too

---
 examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs | 2 +-
 examples/csharp/helloworld/Greeter/HelloworldGrpc.cs          | 2 +-
 examples/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs      | 2 +-
 src/compiler/csharp_generator.cc                              | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs b/examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs
index 297e030a65..9974620da4 100644
--- a/examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs
+++ b/examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs
@@ -62,7 +62,7 @@ namespace Helloworld {
     }
 
     /// <summary>Base class for server-side implementations of Greeter</summary>
-    public abstract class GreeterBase
+    public abstract partial class GreeterBase
     {
       /// <summary>
       ///  Sends a greeting
diff --git a/examples/csharp/helloworld/Greeter/HelloworldGrpc.cs b/examples/csharp/helloworld/Greeter/HelloworldGrpc.cs
index 297e030a65..9974620da4 100644
--- a/examples/csharp/helloworld/Greeter/HelloworldGrpc.cs
+++ b/examples/csharp/helloworld/Greeter/HelloworldGrpc.cs
@@ -62,7 +62,7 @@ namespace Helloworld {
     }
 
     /// <summary>Base class for server-side implementations of Greeter</summary>
-    public abstract class GreeterBase
+    public abstract partial class GreeterBase
     {
       /// <summary>
       ///  Sends a greeting
diff --git a/examples/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs b/examples/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs
index 3cca24a944..aaaac0d1b6 100644
--- a/examples/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs
+++ b/examples/csharp/route_guide/RouteGuide/RouteGuideGrpc.cs
@@ -86,7 +86,7 @@ namespace Routeguide {
     }
 
     /// <summary>Base class for server-side implementations of RouteGuide</summary>
-    public abstract class RouteGuideBase
+    public abstract partial class RouteGuideBase
     {
       /// <summary>
       ///  A simple RPC.
diff --git a/src/compiler/csharp_generator.cc b/src/compiler/csharp_generator.cc
index 3d4a8cb9c2..977600ffb2 100644
--- a/src/compiler/csharp_generator.cc
+++ b/src/compiler/csharp_generator.cc
@@ -297,7 +297,7 @@ void GenerateServiceDescriptorProperty(Printer* out, const ServiceDescriptor *se
 void GenerateServerClass(Printer* out, const ServiceDescriptor *service) {
   out->Print("/// <summary>Base class for server-side implementations of $servicename$</summary>\n",
              "servicename", GetServiceClassName(service));
-  out->Print("public abstract class $name$\n", "name",
+  out->Print("public abstract partial class $name$\n", "name",
              GetServerClassName(service));
   out->Print("{\n");
   out->Indent();
-- 
GitLab