1 // -----------------------------------------------------------------------
\r
2 // Copyright (c) Microsoft Corporation. All rights reserved.
\r
3 // -----------------------------------------------------------------------
\r
5 using System.ComponentModel.Composition.Primitives;
\r
8 namespace System.ComponentModel.Composition.Factories
\r
10 partial class CatalogFactory
\r
12 private class FilteredComposablePartCatalog : ComposablePartCatalog
\r
14 private readonly IQueryable<ComposablePartDefinition> _filteredParts;
\r
16 public FilteredComposablePartCatalog(ComposablePartCatalog catalog, Func<ComposablePartDefinition, bool> filter)
\r
18 this._filteredParts = catalog.Parts.Where(filter).AsQueryable();
\r
20 // Do we care about hooking the the catalog changed events? Not for my particular tests.
\r
23 public override IQueryable<ComposablePartDefinition> Parts
\r
27 return this._filteredParts;
\r