|  | @@ -33,6 +33,7 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #include <cctype>
 | 
	
		
			
				|  |  |  #include <map>
 | 
	
		
			
				|  |  | +#include <sstream>
 | 
	
		
			
				|  |  |  #include <vector>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  #include "src/compiler/csharp_generator.h"
 | 
	
	
		
			
				|  | @@ -44,7 +45,6 @@
 | 
	
		
			
				|  |  |  using google::protobuf::compiler::csharp::GetFileNamespace;
 | 
	
		
			
				|  |  |  using google::protobuf::compiler::csharp::GetClassName;
 | 
	
		
			
				|  |  |  using google::protobuf::compiler::csharp::GetUmbrellaClassName;
 | 
	
		
			
				|  |  | -using google::protobuf::SimpleItoa;
 | 
	
		
			
				|  |  |  using grpc::protobuf::FileDescriptor;
 | 
	
		
			
				|  |  |  using grpc::protobuf::Descriptor;
 | 
	
		
			
				|  |  |  using grpc::protobuf::ServiceDescriptor;
 | 
	
	
		
			
				|  | @@ -228,11 +228,14 @@ void GenerateStaticMethodField(Printer* out, const MethodDescriptor *method) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void GenerateServiceDescriptorProperty(Printer* out, const ServiceDescriptor *service) {
 | 
	
		
			
				|  |  | +  std::ostringstream index;
 | 
	
		
			
				|  |  | +  index << service->index();
 | 
	
		
			
				|  |  |    out->Print("// service descriptor\n");
 | 
	
		
			
				|  |  |    out->Print("public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor\n");
 | 
	
		
			
				|  |  |    out->Print("{\n");
 | 
	
		
			
				|  |  |    out->Print("  get { return $umbrella$.Descriptor.Services[$index$]; }\n",
 | 
	
		
			
				|  |  | -             "umbrella", GetUmbrellaClassName(service->file()), "index", SimpleItoa(service->index()));
 | 
	
		
			
				|  |  | +             "umbrella", GetUmbrellaClassName(service->file()), "index",
 | 
	
		
			
				|  |  | +             index.str());
 | 
	
		
			
				|  |  |    out->Print("}\n");
 | 
	
		
			
				|  |  |    out->Print("\n");
 | 
	
		
			
				|  |  |  }
 |