diff --git a/examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs b/examples/csharp/helloworld-from-cli/Greeter/HelloworldGrpc.cs index 297e030a6509c7f98e9af31d8498c414e830ff11..9974620da4fdeb6c9e75203e0ee89b9ba1481863 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 297e030a6509c7f98e9af31d8498c414e830ff11..9974620da4fdeb6c9e75203e0ee89b9ba1481863 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 3cca24a9442a6ba606810a3967cbfea2b31d5c09..aaaac0d1b635c12f5f6312ea8ea73507a060e7d1 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 3d4a8cb9c28b72ff43ef434266e32cda1a5a252b..977600ffb24450d504ff2b5c274124bf95879d27 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();