피연산자/연산자를 매개 변수로 사용하고 평가 결과를 제공하는 함수가 필요합니다. 내가 직면하고있는 문제는 연산자를 우아하게 구문 분석하는 방법입니다.일치 연산자와 리팩토링 스위치 사례 구문 분석
샘플 코드는 내가 스위치 케이스를 제거하는 열거 (또는 확장 열거)과 사용 전략 패턴 연산자를 넣을 수 있습니다
internal static bool Evaluator(double operand1, double operand2, string operation)
{
bool evaluation = false;
switch (operation)
{
case "<":
evaluation = operand1 < operand2;
break;
case ">":
evaluation = operand1 > operand2;
break;
case "<=":
evaluation = operand1 <= operand2;
break;
default:
break;
}
return evaluation;
}
다음과 같다. 문제가 남아있어 연산자를 구문 분석 할 수 없습니다. 예를
op1="<";
var operation = Operation.Parse(op1);
var result = operand1 <-- operation should come here --> operand2.
우아 코드 위 (평가자 기능) 리팩토링하는 방법을 제안 해주십시오.
독단적 구현은 나에게 깨끗해 보인다. Func에 관해서는 맞습니다. 새로운 Class가 더 좋습니다. – Tilak