public override bool Evaluate(object context) { MoonMemory mem = context as MoonMemory; switch (Type) { case ConditionType.Boolean: return(op_bool.Evaluate(AKey, BKey, BConstant, mem)); case ConditionType.Numeric: return(op_numeric.Evaluate(AKey, BKey, BConstant, mem)); case ConditionType.Object: return(op_obj.Evaluate(AKey, BKey, BConstant, mem)); case ConditionType.String: return(op_string.Evaluate(AKey, BKey, BConstant, mem)); } return(false); }