public static IServiceCollection AddGrpcClient <TServiceInterface>( this IServiceCollection serviceCollection, GrpcClientOptions options ) where TServiceInterface : class, IGrpcService { serviceCollection.AddGrpcClient <TServiceInterface>(options, Serializer); return(serviceCollection); }
public static IServiceCollection AddGrpcClient <TServiceInterface>( this IServiceCollection serviceCollection, GrpcClientOptions options, ISerializer serializer ) where TServiceInterface : class, IGrpcService { serviceCollection.AddSingleton <TServiceInterface>(_ => GrpcClientFactory.Create <TServiceInterface>(options, serializer)); return(serviceCollection); }
public static TService Create <TService>(GrpcClientOptions options, ISerializer serializer) where TService : class, IGrpcService { var newType = new GrpcClientTypeBuilder().Create <TService>(); return((TService)Activator.CreateInstance(newType, options, serializer)); }