private static Task SendAsync()

in src/Microsoft.Azure.SignalR.Emulator/Controllers/SignalRServiceEmulatorWebApi.cs [518:624]


    private static Task SendAsync(IClientProxy client, string method, object[] arguments, CancellationToken cancellationToken = default)
    {
        var argsLen = arguments?.Length ?? 0;

        switch (argsLen)
        {
            case 0:
                return client.SendAsync(method, cancellationToken);
            case 1:
                return client.SendAsync(
                    method,
                    arguments[0],
                    cancellationToken);
            case 2:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    cancellationToken);
            case 3:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    cancellationToken);
            case 4:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    cancellationToken);
            case 5:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    arguments[4],
                    cancellationToken);
            case 6:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    arguments[4],
                    arguments[5],
                    cancellationToken);
            case 7:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    arguments[4],
                    arguments[5],
                    arguments[6],
                    cancellationToken);
            case 8:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    arguments[4],
                    arguments[5],
                    arguments[6],
                    arguments[7],
                    cancellationToken);
            case 9:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    arguments[4],
                    arguments[5],
                    arguments[6],
                    arguments[7],
                    arguments[8],
                    cancellationToken);
            case 10:
                return client.SendAsync(
                    method,
                    arguments[0],
                    arguments[1],
                    arguments[2],
                    arguments[3],
                    arguments[4],
                    arguments[5],
                    arguments[6],
                    arguments[7],
                    arguments[8],
                    arguments[9],
                    cancellationToken);
            default:
                throw new NotSupportedException();
        }
    }