Exemplo n.º 1
0
        internal static bool NotIn(SelectorContext context, SelectorInfo info, object[] args, object o)
        {
            var properties = GetProperties(args);

            if (TryPropertyArray(properties, NOTIN, out Array propertyValue) && TryField(properties, out string field))
            {
                context.Debug(PSDocsResources.SelectorExpressionTrace, NOTIN, field, propertyValue);
                if (!ObjectHelper.GetField(context, o, field, caseSensitive: false, out object value))
                {
                    return(true);
                }

                for (var i = 0; propertyValue != null && i < propertyValue.Length; i++)
                {
                    if (ExpressionHelpers.AnyValue(value, propertyValue.GetValue(i), caseSensitive: false, out _))
                    {
                        return(false);
                    }
                }
                return(true);
            }
            return(false);
        }