public static GrpcCore.Method <TRequest, TResponse> Create <TRequest, TResponse>(
            GrpcCore.MethodType methodType,
            string serviceName,
            string methodName,
            IRpcSerializer serializer
            )
        {
            var requestSerializer  = serializer.CreateTyped <TRequest>();
            var responseSerializer = serializer.CreateTyped <TResponse>();

            return(new GrpcCore.Method <TRequest, TResponse>(
                       type: methodType,
                       serviceName: serviceName,
                       name: methodName,
                       requestMarshaller: GrpcCore.Marshallers.Create <TRequest>(
                           serializer: requestSerializer.Serialize,
                           deserializer: requestSerializer.Deserialize !
                           ),
                       responseMarshaller: GrpcCore.Marshallers.Create <TResponse>(
                           serializer: responseSerializer.Serialize,
                           deserializer: responseSerializer.Deserialize !
                           )
                       ));
        }
Пример #2
0
 public LightweightSerializers(IRpcSerializer serializer)
 {
     this.Serializer         = serializer;
     this.RequestSerializer  = serializer.CreateTyped <TRequest>();
     this.ResponseSerializer = serializer.CreateTyped <TResponse>();
 }