public override bool TryEvaluate(TextTemplateProcessingContext cx, out object result) { result = (object)null; // if was able to evalue condition, check if it is true, if it is the process True Outcome, otherwise return empty string if(TryEvaluateInternal(cx, SubstitutionPattern, Functions, out result)) { if (result is bool && (bool)result == true) { if (TryEvaluateInternal(cx, TrueOutcomeSubstitutionPattern, TrueOutcomeProcessFunctions, out result)) { return true; } else { Diagnostics.Log.Information(() => "Unable to process True branch for placeholder '{0}'".FormatWith(RawValue)); return false; } } else { result = ""; return true; } } else { result = null; return false; } }
public abstract object EvaluateOutput(TextTemplateProcessingContext cxl);
public static bool TryEvaluateInternal( TextTemplateProcessingContext cx, string substitutionPattern, #if UPTO_DOTNET40 IList<FunctionDefinition>
public virtual bool TryEvaluate(TextTemplateProcessingContext cx, out object result) { return TryEvaluateInternal(cx, SubstitutionPattern, Functions, out result); }
public override object EvaluateOutput(TextTemplateProcessingContext cx) { return Output; }