private GatewayReceiverResult
 (
     string?errorReason,
     GatewayCloseStatus closeStatus
 )
     : base(errorReason, closeStatus)
 {
 }
Exemplo n.º 2
0
 private SendPayloadResult
 (
     string?errorReason,
     GatewayCloseStatus closeStatus
 )
     : base(errorReason, closeStatus)
 {
 }
 private GatewayConnectionResult
 (
     string?errorReason,
     GatewayCloseStatus closeStatus
 )
     : base(errorReason, closeStatus)
 {
 }
Exemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AbstractGatewayResult{TActualResult}"/> class.
 /// </summary>
 /// <param name="errorReason">A human-readable error description. </param>
 /// <param name="closeStatus">The close code, if any.</param>
 protected AbstractGatewayResult
 (
     string?errorReason,
     GatewayCloseStatus closeStatus
 )
     : base(errorReason)
 {
     this.GatewayCloseStatus = closeStatus;
 }
Exemplo n.º 5
0
        /// <summary>
        /// Creates a failed result.
        /// </summary>
        /// <param name="errorReason">A more detailed error reason.</param>
        /// <param name="closeStatus">The Discord error that caused the failure, if any.</param>
        /// <returns>A failed result.</returns>
        public static TActualResult FromError
        (
            string errorReason,
            GatewayCloseStatus closeStatus
        )
        {
            var constructor = typeof(TActualResult).GetConstructor
                              (
                BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance,
                null,
                new[] { typeof(string), typeof(GatewayCloseStatus) },
                null
                              );

            if (constructor is null)
            {
                var typeName = typeof(TActualResult).Name;
                throw new MissingMethodException(typeName, $"{typeName}(string, GatewayCloseStatus)");
            }

            var resultInstance = constructor.Invoke(new object?[] { errorReason, closeStatus });

            return((TActualResult)resultInstance);
        }