You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

PreconditionGroupResult.cs 1.3 kB

123456789101112131415161718192021222324252627
  1. using System.Collections.Generic;
  2. using System.Diagnostics;
  3. namespace Discord.Commands
  4. {
  5. [DebuggerDisplay(@"{DebuggerDisplay,nq}")]
  6. public class PreconditionGroupResult : PreconditionResult
  7. {
  8. public IReadOnlyCollection<PreconditionResult> PreconditionResults { get; }
  9. protected PreconditionGroupResult(CommandError? error, string errorReason, ICollection<PreconditionResult> preconditions)
  10. : base(error, errorReason)
  11. {
  12. PreconditionResults = (preconditions ?? new List<PreconditionResult>(0)).ToReadOnlyCollection();
  13. }
  14. public static new PreconditionGroupResult FromSuccess()
  15. => new PreconditionGroupResult(null, null, null);
  16. public static PreconditionGroupResult FromError(string reason, ICollection<PreconditionResult> preconditions)
  17. => new PreconditionGroupResult(CommandError.UnmetPrecondition, reason, preconditions);
  18. public static new PreconditionGroupResult FromError(IResult result) //needed?
  19. => new PreconditionGroupResult(result.Error, result.ErrorReason, null);
  20. public override string ToString() => IsSuccess ? "Success" : $"{Error}: {ErrorReason}";
  21. private string DebuggerDisplay => IsSuccess ? "Success" : $"{Error}: {ErrorReason}";
  22. }
  23. }