OnHedgingArguments
Represents arguments used by the on-hedging event.
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
namespace Polly.Hedging
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public class OnHedgingArguments : IEquatable<OnHedgingArguments>
{
[CompilerGenerated]
protected virtual Type EqualityContract {
[CompilerGenerated]
get {
return typeof(OnHedgingArguments);
}
}
public int Attempt { get; set; }
public bool HasOutcome { get; set; }
public TimeSpan ExecutionTime { get; set; }
public OnHedgingArguments(int Attempt, bool HasOutcome, TimeSpan ExecutionTime)
{
Attempt = Attempt;
HasOutcome = HasOutcome;
ExecutionTime = ExecutionTime;
base..ctor();
}
[CompilerGenerated]
public override string ToString()
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("OnHedgingArguments");
stringBuilder.Append(" { ");
if (PrintMembers(stringBuilder))
stringBuilder.Append(' ');
stringBuilder.Append('}');
return stringBuilder.ToString();
}
[CompilerGenerated]
protected virtual bool PrintMembers(StringBuilder builder)
{
RuntimeHelpers.EnsureSufficientExecutionStack();
builder.Append("Attempt = ");
builder.Append(Attempt.ToString());
builder.Append(", HasOutcome = ");
builder.Append(HasOutcome.ToString());
builder.Append(", ExecutionTime = ");
builder.Append(ExecutionTime.ToString());
return true;
}
public static bool operator !=(OnHedgingArguments left, OnHedgingArguments right)
{
return !(left == right);
}
public static bool operator ==(OnHedgingArguments left, OnHedgingArguments right)
{
if ((object)left != right)
return left?.Equals(right) ?? false;
return true;
}
[CompilerGenerated]
public override int GetHashCode()
{
return ((EqualityComparer<Type>.Default.GetHashCode(EqualityContract) * -1521134295 + EqualityComparer<int>.Default.GetHashCode(Attempt)) * -1521134295 + EqualityComparer<bool>.Default.GetHashCode(HasOutcome)) * -1521134295 + EqualityComparer<TimeSpan>.Default.GetHashCode(ExecutionTime);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[CompilerGenerated]
public override bool Equals(object obj)
{
return Equals(obj as OnHedgingArguments);
}
[System.Runtime.CompilerServices.NullableContext(2)]
[CompilerGenerated]
public virtual bool Equals(OnHedgingArguments other)
{
if ((object)this != other) {
if ((object)other != null && EqualityContract == other.EqualityContract && EqualityComparer<int>.Default.Equals(Attempt, other.Attempt) && EqualityComparer<bool>.Default.Equals(HasOutcome, other.HasOutcome))
return EqualityComparer<TimeSpan>.Default.Equals(ExecutionTime, other.ExecutionTime);
return false;
}
return true;
}
[CompilerGenerated]
protected OnHedgingArguments(OnHedgingArguments original)
{
Attempt = original.Attempt;
HasOutcome = original.HasOutcome;
ExecutionTime = original.ExecutionTime;
}
[CompilerGenerated]
public void Deconstruct(out int Attempt, out bool HasOutcome, out TimeSpan ExecutionTime)
{
Attempt = this.Attempt;
HasOutcome = this.HasOutcome;
ExecutionTime = this.ExecutionTime;
}
}
}