diff options
author | 2015-05-06 14:46:25 -0700 | |
---|---|---|
committer | 2015-05-07 09:14:13 -0700 | |
commit | bdb1b4863bf0d03fb08f240677a7aa3726bb3f1c (patch) | |
tree | cd358e6dae00a6ecc58b4a9af26b765ee0a4c323 /src/csharp/Grpc.Core/Internal/ServerCalls.cs | |
parent | 9b9a877eae6406867ae1f03204066639b8a73593 (diff) |
add a generic constraint for TRequest and TResponse to require a class
Diffstat (limited to 'src/csharp/Grpc.Core/Internal/ServerCalls.cs')
-rw-r--r-- | src/csharp/Grpc.Core/Internal/ServerCalls.cs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/csharp/Grpc.Core/Internal/ServerCalls.cs b/src/csharp/Grpc.Core/Internal/ServerCalls.cs index 5c6b335c7f..81279678b9 100644 --- a/src/csharp/Grpc.Core/Internal/ServerCalls.cs +++ b/src/csharp/Grpc.Core/Internal/ServerCalls.cs @@ -41,21 +41,29 @@ namespace Grpc.Core.Internal internal static class ServerCalls { public static IServerCallHandler UnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, UnaryServerMethod<TRequest, TResponse> handler) + where TRequest : class + where TResponse : class { return new UnaryServerCallHandler<TRequest, TResponse>(method, handler); } public static IServerCallHandler ClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, ClientStreamingServerMethod<TRequest, TResponse> handler) + where TRequest : class + where TResponse : class { return new ClientStreamingServerCallHandler<TRequest, TResponse>(method, handler); } public static IServerCallHandler ServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, ServerStreamingServerMethod<TRequest, TResponse> handler) + where TRequest : class + where TResponse : class { return new ServerStreamingServerCallHandler<TRequest, TResponse>(method, handler); } public static IServerCallHandler DuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, DuplexStreamingServerMethod<TRequest, TResponse> handler) + where TRequest : class + where TResponse : class { return new DuplexStreamingServerCallHandler<TRequest, TResponse>(method, handler); } |