本文整理汇总了C#中IToken.?.Evaluate方法的典型用法代码示例。如果您正苦于以下问题:C# IToken.?.Evaluate方法的具体用法?C# IToken.?.Evaluate怎么用?C# IToken.?.Evaluate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IToken
的用法示例。
在下文中一共展示了IToken.?.Evaluate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Evaluate
public override TokenList Evaluate(IToken first, IToken last, TokenTreeList parameters)
{
TokenList firstList = first?.Evaluate(parameters);
TokenList lastList = last?.Evaluate(parameters);
if (firstList == null || lastList == null)
throw new Exception($"Operation {Text} is a binary operation.");
TokenList result = new TokenList();
result.AddRange(firstList);
result.AddRange(lastList);
return result;
}
示例2: Evaluate
public virtual IToken Evaluate(IToken firstToken, IToken lastToken, TokenTreeList parameters, bool isFinal)
{
IToken first = firstToken?.Evaluate(parameters, isFinal);
IToken last = lastToken?.Evaluate(parameters, isFinal);
if (first == null)
{
if (CanBeUnary)
{
ITypeToken secondType = last?.Simplify() as ITypeToken;
return secondType != null ? Evaluate(secondType) : new ExpressionToken(null, this, last);
}
throw new Exception($"Operation {Text} can not be unary.");
}
if (CanBeBinary)
{
ITypeToken firstType = first.Simplify() as ITypeToken;
ITypeToken secondType = last?.Simplify() as ITypeToken;
return firstType != null && secondType != null ? Evaluate(firstType, secondType) : new ExpressionToken(first, this, last);
}
throw new Exception($"Operation {Text} can not be binary.");
}
示例3: Evaluate
public virtual TokenList Evaluate(IToken first, IToken last, TokenTreeList parameters)
{
return Simplify(first?.Evaluate(parameters)?[0], last?.Evaluate(parameters)?[0]);
}