コード例 #1
0
 public static OperationStatus GetStatus(this ResultBase resultBase)
 {
     if (resultBase.IsCriticalFailure)
     {
         return(OperationStatus.CriticalFailure);
     }
     else if (resultBase.IsCancelled)
     {
         return(OperationStatus.Cancelled);
     }
     else if (!resultBase.Succeeded)
     {
         return(OperationStatus.Failure);
     }
     else
     {
         return(OperationStatus.Success);
     }
 }
コード例 #2
0
 /// <nodoc />
 private static string GetErrorMessage(ResultBase error)
 {
     Contract.Requires(!error.Succeeded);
     Contract.Requires(error.Error != null);
     return(error.Error.ErrorMessage);
 }
コード例 #3
0
ファイル: FileExistenceResult.cs プロジェクト: uilit/BuildXL
 public FileExistenceResult(ResultCode code, ResultBase other, string?message = null)
     : base(other, message)
 {
     Code = code;
 }
コード例 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BoolResult" /> class.
 /// </summary>
 public BoolResult(ResultBase other, string?message = null)
     : base(other, message)
 {
 }
コード例 #5
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="OpenStreamResult" /> class.
 /// </summary>
 public OpenStreamResult(ResultBase other, ResultCode code, string?message = null)
     : base(other, message)
 {
     Code = code;
 }
コード例 #6
0
 /// <summary>
 /// Special method to ignore potentially not successful result of an operation explicitly.
 /// </summary>
 public static void IgnoreFailure(this ResultBase result)
 {
 }
コード例 #7
0
 /// <inheritdoc />
 protected override bool SuccessEquals(ResultBase other)
 {
     return(Code == ((PlaceFileResult)other).Code);
 }
コード例 #8
0
ファイル: CopyFileResult.cs プロジェクト: smera/BuildXL
 /// <summary>
 /// Initializes a new instance of the <see cref="CopyFileResult"/> class.
 /// </summary>
 public CopyFileResult(ResultCode code, ResultBase other, string message = null)
     : base(other, message)
 {
     Code = code;
 }
コード例 #9
0
 public GetStatsResult(ResultBase other, string?message = null)
     : base(other, message)
 {
 }
コード例 #10
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="PutResult" /> class.
 /// </summary>
 public PutResult(ResultBase other, string message = null)
     : base(other, message)
 {
 }
コード例 #11
0
ファイル: ResultOfT.cs プロジェクト: microsoft/BuildXL
 /// <inheritdoc />
 public Result(ResultBase other, string?message = null)
     : base(other, message)
 {
     _result = default;
 }
コード例 #12
0
ファイル: CreateSessionResult.cs プロジェクト: smera/BuildXL
 /// <summary>
 ///     Initializes a new instance of the <see cref="CreateSessionResult{T}"/> class.
 /// </summary>
 public CreateSessionResult(ResultBase other, string message = null)
     : base(other, message)
 {
 }
コード例 #13
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="DistributedDeleteResult"/> class.
 /// </summary>
 public DistributedDeleteResult(ResultBase other, string message)
     : base(other, message)
 {
     DeleteMapping = new Dictionary <string, DeleteResult>();
 }
コード例 #14
0
ファイル: ErrorResult.cs プロジェクト: feitianyiren/BuildXL
 /// <summary>
 ///     Initializes a new instance of the <see cref="ErrorResult" /> class.
 /// </summary>
 public ErrorResult(ResultBase other, string?message = null)
     : base(other, message)
 {
     Message = message;
 }
コード例 #15
0
 /// <summary>
 /// Returns true if the error is critical.
 /// </summary>
 public bool IsCritical(bool isCanceled) => isCanceled?ResultBase.IsCriticalForCancellation(Exception) : ResultBase.IsCritical(Exception);
コード例 #16
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="OpenStreamResult" /> class.
 /// </summary>
 public OpenStreamResult(ResultBase other, string message = null)
     : base(other, message)
 {
     Code = ResultCode.Error;
 }
コード例 #17
0
ファイル: CopyFileResult.cs プロジェクト: smera/BuildXL
 /// <summary>
 /// Initializes a new instance of the <see cref="CopyFileResult"/> class.
 /// </summary>
 public CopyFileResult(ResultBase other, string message = null)
     : this(ResultCode.Unknown, other, message)
 {
 }
コード例 #18
0
 public PutResult(ResultBase other, ContentHash contentHash, string?message = null)
     : base(other, message)
 {
     ContentHash = contentHash;
 }
コード例 #19
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="PlaceFileResult" /> class.
 /// </summary>
 public PlaceFileResult(ResultBase other, ResultCode code, string?message = null)
     : base(other, message)
 {
     Contract.Requires(code >= ResultCode.Error);
     Code = code;
 }
コード例 #20
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="CreateSessionResult{T}"/> class.
 /// </summary>
 public CreateSessionResult(ResultBase other, string?message = null)
     : base(other, message)
 {
     Session = default;
 }
コード例 #21
0
 /// <summary>
 /// Check if equal to another.
 /// </summary>
 protected bool EqualsBase(ResultBase other)
 {
     return(!(other is null) && ErrorMessage == other.ErrorMessage);
 }
コード例 #22
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="PlaceFileResult" /> class.
 /// </summary>
 public PlaceFileResult(ResultBase other, string message = null)
     : base(other, message)
 {
     Code = ResultCode.Error;
 }
コード例 #23
0
 /// <nodoc />
 public DeleteResult(ResultBase other, string message)
     : base(other, message)
 {
     Code = ResultCode.Error;
 }
コード例 #24
0
ファイル: OpenStreamResult.cs プロジェクト: microsoft/BuildXL
        /// <inheritdoc />
        protected override bool SuccessEquals(ResultBase other)
        {
            var rhs = (OpenStreamResult)other;

            return(Code == rhs.Code && Stream == rhs.Stream);
        }
コード例 #25
0
 /// <nodoc />
 public static Result <T> FromError <T>(ResultBase other)
 {
     Contract.Requires(!other.Succeeded);
     return(new Result <T>(other));
 }
コード例 #26
0
ファイル: OpenStreamResult.cs プロジェクト: microsoft/BuildXL
 /// <summary>
 ///     Initializes a new instance of the <see cref="OpenStreamResult" /> class.
 /// </summary>
 public OpenStreamResult(ResultBase other, ResultCode code, string?message = null)
     : base(other, message)
 {
     Contract.Requires(code != ResultCode.Success);
     Code = code;
 }
コード例 #27
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="PinResult"/> class.
 /// </summary>
 public PinResult(ResultBase other, string?message = null)
     : base(other, message)
 {
     Code = ResultCode.Error;
 }
コード例 #28
0
ファイル: PlaceFileResult.cs プロジェクト: uilit/BuildXL
 public PlaceFileResult(ResultBase other, ResultCode code, string?message = null)
     : base(other, message)
 {
     Code = code;
 }
コード例 #29
0
ファイル: FileExistenceResult.cs プロジェクト: uilit/BuildXL
 public FileExistenceResult(ResultBase other, string?message = null)
     : base(other, message)
 {
     Code = ResultCode.Error;
 }
コード例 #30
0
ファイル: CopyFileResult.cs プロジェクト: microsoft/BuildXL
 /// <summary>
 /// Initializes a new instance of the <see cref="CopyFileResult"/> class.
 /// </summary>
 public CopyFileResult(CopyResultCode code, ResultBase other, string?message = null)
     : base(other, message)
 {
     Contract.Requires(code != CopyResultCode.Success);
     Code = code;
 }