private UnaryExpression FunctionalOp(Expression operand)
{
ExpressionType functional;
if (NodeType == ExpressionType.PreIncrementAssign || NodeType == ExpressionType.PostIncrementAssign)
{
functional = ExpressionType.Increment;
}
else
{
Debug.Assert(NodeType == ExpressionType.PreDecrementAssign || NodeType == ExpressionType.PostDecrementAssign);
functional = ExpressionType.Decrement;
}
return new UnaryExpression(functional, operand, operand.Type, Method);
}