internal virtual T ScriptInvoke <T>(Func <T> func) { var prevScriptFrame = CurrentScriptFrame; CurrentScriptFrame = new ScriptFrame(); try { return(func()); } finally { CurrentScriptFrame = prevScriptFrame; } }
internal virtual void ScriptInvoke(Action action) { var prevScriptFrame = CurrentScriptFrame; CurrentScriptFrame = new ScriptFrame(); try { action(); } finally { CurrentScriptFrame = prevScriptFrame; } }