j'ai 2 variables de type objet qui doit être comparé à l'aide d'une opération dynamique qui repose sur un ENUM:Comparer les propriétés d'objet à l'aide d'une opération dynamique
public enum OperationType
{
None,
EqualTo,
NotEqualTo,
GreaterThan,
GreaterThanOrEqualTo,
LessThan,
LessThanOrEqualTo
}
Vous pouvez faire l'hypothèse que le type sous-jacent les variables sont les mêmes, ne peuvent être que de type chaîne, ou tout autre type de valeur, mais sont inconnues pendant le temps de développement.
J'ai actuellement les suivantes:
bool match;
switch (Operation)
{
case OperationType.EqualTo:
match = Equals(targetValue, valueToMatch);
break;
case OperationType.NotEqualTo:
match = Equals(targetValue, valueToMatch) == false;
break;
case OperationType.GreaterThan:
//??
break;
case OperationType.GreaterThanOrEqualTo:
//??
break;
case OperationType.LessThan:
//??
break;
case OperationType.LessThanOrEqualTo:
//??
break;
default:
throw new ArgumentOutOfRangeException();
}
Quelle est la meilleure façon de déterminer un match à l'exécution (C# 4.0)?