public CommandUpdaterInfo (MethodInfo method, CommandUpdateHandlerAttribute attr): base (method, attr) { Init (method, attr); }
public void Init (MethodInfo method, CommandUpdateHandlerAttribute attr) { base.Init (method, attr); ParameterInfo[] pars = method.GetParameters (); if (pars.Length == 1) { Type t = pars[0].ParameterType; if (t == typeof(CommandArrayInfo)) { isArray = true; return; } else if (t == typeof(CommandInfo)) return; } throw new InvalidOperationException ("Invalid signature for command update handler: " + method.DeclaringType + "." + method.Name + "()"); }
void AddUpdater (List<CommandUpdaterInfo> methodUpdaters, MethodInfo method, CommandUpdateHandlerAttribute attr) { foreach (CommandUpdaterInfo ci in methodUpdaters) { if (ci.CommandId.Equals (CommandManager.ToCommandId (attr.CommandId))) { ci.Init (method, attr); return; } } // Not found, it needs to be added CommandUpdaterInfo cinfo = new CommandUpdaterInfo (method, attr); methodUpdaters.Add (cinfo); }