PowerArgs.CommandLineAction.IsActionImplementation C# (CSharp) Method

IsActionImplementation() static private method

static private IsActionImplementation ( PropertyInfo property ) : bool
property System.Reflection.PropertyInfo
return bool
        internal static bool IsActionImplementation(PropertyInfo property)
        {
            return property.Name.EndsWith(Constants.ActionArgConventionSuffix) &&
                   property.HasAttr<ArgIgnoreAttribute>() == false &&
                ArgAction.GetActionProperty(property.DeclaringType) != null;
        }

Same methods

CommandLineAction::IsActionImplementation ( MethodInfo method ) : bool

Usage Example

Beispiel #1
0
        private List <CommandLineAction> FindCommandLineActions(Type t)
        {
            var knownAliases = new List <string>();

            foreach (var argument in Arguments)
            {
                knownAliases.AddRange(argument.Aliases);
            }

            BindingFlags flags = BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public;

            var actions = (from p in t.GetProperties(flags)
                           where  CommandLineAction.IsActionImplementation(p)
                           select CommandLineAction.Create(p, knownAliases)).ToList();

            if (t.HasAttr <ArgActionType>())
            {
                t = t.Attr <ArgActionType>().ActionType;
            }

            foreach (var action in t.GetMethods(flags).Where(m => CommandLineAction.IsActionImplementation(m)).Select(m => CommandLineAction.Create(m, knownAliases.ToList())))
            {
                var matchingPropertyBasedAction = actions.Where(a => a.Aliases.First() == action.Aliases.First()).SingleOrDefault();
                if (matchingPropertyBasedAction != null)
                {
                    continue;
                }
                actions.Add(action);
            }

            return(actions);
        }
All Usage Examples Of PowerArgs.CommandLineAction::IsActionImplementation