Struct EvaluationReason
Describes the reason that a flag evaluation produced a particular value.
Implements
Inherited Members
Namespace: LaunchDarkly.Sdk
Assembly: LaunchDarkly.CommonSdk.dll
Syntax
[JsonConverter(typeof(LdJsonConverters.EvaluationReasonConverter))]
public struct EvaluationReason : IJsonSerializable
Remarks
For converting this type to or from JSON, see LaunchDarkly.Sdk.Json.
Properties
BigSegmentsStatus
Describes the validity of big segment information, if and only if the flag evaluation required querying at least one big segment. Otherwise it returns null.
Declaration
public BigSegmentsStatus? BigSegmentsStatus { get; }
Property Value
Type | Description |
---|---|
BigSegmentsStatus? |
Remarks
"Big segments" are a specific kind of user segments. For more information, read the LaunchDarkly documentation about user segments: https://docs.launchdarkly.com/home/users/big-segments
ErrorKind
Declaration
public EvaluationErrorKind? ErrorKind { get; }
Property Value
Type | Description |
---|---|
EvaluationErrorKind? |
FallthroughReason
Returns an EvaluationReason of the kind Fallthrough.
Declaration
public static EvaluationReason FallthroughReason { get; }
Property Value
Type | Description |
---|---|
EvaluationReason |
InExperiment
Whether the evaluation was part of an experiment.
Declaration
public bool InExperiment { get; }
Property Value
Type | Description |
---|---|
bool |
Remarks
This is true if the evaluation resulted in an experiment rollout and served one of the variations in the experiment. Otherwise it is false.
Kind
An enum indicating the general category of the reason.
Declaration
public EvaluationReasonKind Kind { get; }
Property Value
Type | Description |
---|---|
EvaluationReasonKind |
OffReason
Returns an EvaluationReason of the kind Off.
Declaration
public static EvaluationReason OffReason { get; }
Property Value
Type | Description |
---|---|
EvaluationReason |
PrerequisiteKey
The key of the prerequisite flag that failed, if Kind is PrerequisiteFailed, otherwise null.
Declaration
public string PrerequisiteKey { get; }
Property Value
Type | Description |
---|---|
string |
RuleId
The unique identifier of the rule that was matched, or null if this is not a rule match.
Declaration
public string RuleId { get; }
Property Value
Type | Description |
---|---|
string |
RuleIndex
The index of the rule that was matched (0 for the first), or null if this is not a rule match.
Declaration
public int? RuleIndex { get; }
Property Value
Type | Description |
---|---|
int? |
TargetMatchReason
Returns an EvaluationReason of the kind TargetMatch.
Declaration
public static EvaluationReason TargetMatchReason { get; }
Property Value
Type | Description |
---|---|
EvaluationReason |
Methods
Equals(object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj |
Returns
Type | Description |
---|---|
bool |
Overrides
ErrorReason(EvaluationErrorKind)
Returns an EvaluationReason of the kind Error.
Declaration
public static EvaluationReason ErrorReason(EvaluationErrorKind errorKind)
Parameters
Type | Name | Description |
---|---|---|
EvaluationErrorKind | errorKind |
Returns
Type | Description |
---|---|
EvaluationReason | a reason descriptor |
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int |
Overrides
PrerequisiteFailedReason(string)
Returns an EvaluationReason of the kind PrerequisiteFailed.
Declaration
public static EvaluationReason PrerequisiteFailedReason(string key)
Parameters
Type | Name | Description |
---|---|---|
string | key | the key of the prerequisite flag |
Returns
Type | Description |
---|---|
EvaluationReason | a reason descriptor |
RuleMatchReason(int, string)
Returns an EvaluationReason of the kind RuleMatch.
Declaration
public static EvaluationReason RuleMatchReason(int ruleIndex, string ruleId)
Parameters
Type | Name | Description |
---|---|---|
int | ruleIndex | the rule index |
string | ruleId | the unique rule ID |
Returns
Type | Description |
---|---|
EvaluationReason | a reason descriptor |
ToString()
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string |
Overrides
WithBigSegmentsStatus(BigSegmentsStatus?)
Returns a copy of this EvaluationReason with a specific BigSegmentsStatus value added.
Declaration
public EvaluationReason WithBigSegmentsStatus(BigSegmentsStatus? bigSegmentsStatus)
Parameters
Type | Name | Description |
---|---|---|
BigSegmentsStatus? | bigSegmentsStatus | the new property value |
Returns
Type | Description |
---|---|
EvaluationReason | a reason descriptor |
WithInExperiment(bool)
Returns a new instance with the InExperiment property set to the specified value, if supported.
Declaration
public EvaluationReason WithInExperiment(bool inExperiment)
Parameters
Type | Name | Description |
---|---|---|
bool | inExperiment | the desired value for the property |
Returns
Type | Description |
---|---|
EvaluationReason | a copy of this instance with the property modified |
Remarks
Setting InExperiment is only allowed for Fallthrough and RuleMatch. For all other reason kinds, this has no effect.