MethodInfo pAction(string s, ref ssEventCmdOption cmdopt) { switch (s) { case "null": cmdopt = ssEventCmdOption.none; return(null); case "ssCmd": cmdopt = ssEventCmdOption.exec; return(null); case "ssCmdPreserveDot": cmdopt = ssEventCmdOption.execPreserveDot; return(null); case "ssCmdBegin": cmdopt = ssEventCmdOption.begin; return(null); } s = "Cmd" + s; foreach (MethodInfo m in methods) { if (m.Name == s) { return(m); //(ssAction)m.CreateDelegate(actiontyp, f); } } throw new ssException("error parsing event field 'action' in events file"); }
public ssEventDecoderV2(ssForm f) { frm = f; ssEventCmdOption x = ssEventCmdOption.exec; evFile = "ssEvents.ini"; keyconv = new KeysConverter(); methods = Type.GetType("ss.ssForm").GetMethods( BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly); defInsert = pAction("InsertChar", ref x); subsets = null; if (f == f.Ed.Log.Frm) { esets = LoadEvents(f, evFile); } else { esets = f.Ed.Log.Frm.Evd.esets; } curset = esets; SetEventSet(f.Ed.defs.eventSet); }