コード例 #1
0
        public static IEnumerable <T> Filter <T>(this IEnumerable <T> contents, ICollectionSettings settings) where T : IContent
        {
            if (contents == null)
            {
                throw new ArgumentNullException(nameof(contents));
            }

            // ReSharper disable InvertIf
            if (settings?.Filters != null && settings.Filters.Any())
            {
                var filter = new CompositeFilter(settings.Filters);

                contents = contents.Where(content => !filter.ShouldFilter(content));
            }
            // ReSharper restore InvertIf

            return(contents);
        }