Table of Contents

Class RuleEvaluator

Namespace
Framework.Common.Rules
Assembly
Assembly-CSharp.dll

IRuleEvaluator 구현체. string ruleId 키로 ISpecification<T> 등록 및 평가.

public class RuleEvaluator : IRuleEvaluator
Inheritance
object
RuleEvaluator
Implements

Remarks

규칙은 object로 저장 후 Evaluate 시 ISpecification<T>로 캐스팅. 미등록 ruleId 또는 T 타입 불일치 시 예외 없이 false 반환. 규칙 조합은 SpecificationExtensions(.And/.Or/.Not)으로 Register 전에 처리한다.

Methods

Evaluate<T>(string, T)

등록된 규칙으로 대상 평가.

public bool Evaluate<T>(string ruleId, T target)

Parameters

ruleId string

평가할 규칙 키. 미등록 시 false 반환.

target T

평가할 대상.

Returns

bool

조건 만족 여부. 미등록 ruleId면 false.

Type Parameters

T

평가 대상 타입.

Register<T>(string, ISpecification<T>)

규칙 등록. 동일 ruleId 존재 시 덮어쓴다.

public void Register<T>(string ruleId, ISpecification<T> spec)

Parameters

ruleId string

규칙 식별 키.

spec ISpecification<T>

평가에 사용할 Specification.

Type Parameters

T

평가 대상 타입.