public static T Evaluate <T>(string expression) { T result = default(T); if (!ExpressionEvaluator.TryParse <T>(expression, out result)) { expression = ExpressionEvaluator.PreFormatExpression(expression); result = ExpressionEvaluator.Evaluate <T>(ExpressionEvaluator.InfixToRPN(ExpressionEvaluator.FixUnaryOperators(ExpressionEvaluator.ExpressionToTokens(expression)))); } return(result); }