public ExternalCommand(Command command) { CommandType = command.GetType(); Constructor = CommandType.GetConstructor(new Type[0]); Instance = command; Properties = CommandType.GetProperties(); Metadata = GetCommandMetadata(CommandType); }
public void LoadParameters() { Parameters = new Dictionary <string, PropertyInfo>(); foreach (var p in CommandType.GetProperties()) { var pa = p.GetCustomAttribute <CommandParameterAttribute>(); if (pa != null) { if (!string.IsNullOrEmpty(pa.Name)) { Parameters.Add(pa.Name.ToLower(), p); } else { Parameters.Add(p.Name.ToLower(), p); } } } }