public override object Evaluate(IExpressionContext context) { if (context != null) { object val = context.ResolveVariableValue(VariableName); if (val == null && String.Compare(VariableName, "current", true) == 0) { return(context.ContextObject); } if (val == null) { val = context.ResolveQualifiedName(context.ContextObject, new[] { VariableName }); } if (val != null) { return(val); } } return(VariableName); }