} // proc UpdateCallSite protected override string MatchEvaluatorImpl(Match m) { string[] args = new string[m.Groups.Count - 1]; for (int i = 1; i < m.Groups.Count; i++) { args[i - 1] = m.Groups[i].Value; } return((string)Lua.RtConvertValue(Lua.RtInvokeSite(callSite, callInfo => new Lua.LuaInvokeBinder(null, callInfo), UpdateCallSite, funcCall, args), typeof(string))); } // func MatchEvaluator