The type of the expected source request. Specifying this explicitly
is usually sufficient to allow type inference to work for generic methods within this class.
public static CallInvoker Create<TSourceResponse, TTargetRequest, TTargetResponse>(CallInvoker originalInvoker, string sourceMethodFullName, Method<TTargetRequest, TTargetResponse> targetMethod, Func<TSourceRequest, TTargetRequest> requestConverter, Func<TSourceRequest, TTargetResponse, TSourceResponse> responseConverter)
where TSourceResponse : class where TTargetRequest : class where TTargetResponse : class
Creates a Google.Api.Gax.Grpc.ForwardingCallInvoker`4
to forward a single unary call to a method in an existing .
Parameters
Name
Description
originalInvoker
CallInvoker
The original invoker that will handle the request.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides information about the \u003ccode\u003eForwardingCallInvoker<TSourceRequest>\u003c/code\u003e class in the \u003ccode\u003eGoogle.Api.Gax.Grpc\u003c/code\u003e namespace, specifically within version 4.0.0 of the library, including the latest version of 4.10.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eForwardingCallInvoker<TSourceRequest>\u003c/code\u003e class is a non-generic static class designed for generic type inference, simplifying the construction of instances of \u003ccode\u003eGoogle.Api.Gax.Grpc.ForwardingCallInvoker<TSourceRequest>\u003c/code\u003e by inferring what generic types are needed.\u003c/p\u003e\n"],["\u003cp\u003eThe class inherits from \u003ccode\u003eObject\u003c/code\u003e and provides a \u003ccode\u003eCreate\u003c/code\u003e method to facilitate the forwarding of a unary call to a different method on an existing \u003ccode\u003eCallInvoker\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCreate\u003c/code\u003e method requires parameters like an \u003ccode\u003eoriginalInvoker\u003c/code\u003e, \u003ccode\u003esourceMethodFullName\u003c/code\u003e, \u003ccode\u003etargetMethod\u003c/code\u003e, and delegates for converting requests and responses between the source and target methods.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCreate\u003c/code\u003e method uses type parameters of \u003ccode\u003eTSourceResponse\u003c/code\u003e, \u003ccode\u003eTTargetRequest\u003c/code\u003e, and \u003ccode\u003eTTargetResponse\u003c/code\u003e to define the types for the source response, target request, and target response respectively.\u003c/p\u003e\n"]]],[],null,[]]