public void Intercept(IInvocation invocation) { using (OperationStack.Push(GetMethodInformation(invocation))) { invocation.Proceed(); } }
private void Work(string token) { if (FuncsSignatures.ContainsKey(token)) { OperationStack.Push(token); } else if (token == "(" || token == "[") { OperationStack.Push(token); } else if (token == ",") { } else if (token == ")" || token == "]") { while (OperationStack.Peek() != "[" && OperationStack.Peek() != "(") { Eval(); } Eval(); } else if (Priorities.ContainsKey(token)) { while (OperationStack.Count > 0 && GetPriority(OperationStack.Peek()) >= GetPriority(token)) { Eval(); } OperationStack.Push(token); } else if (owner.Variables.ContainsKey(token)) { OperandStack.Push(owner.Variables[token].Value); } else { OperandStack.Push(Parser.ParseTypes(token)); } }