1 // -----------------------------------------------------------------------
\r
2 // Copyright (c) Microsoft Corporation. All rights reserved.
\r
3 // -----------------------------------------------------------------------
\r
5 using System.Collections.ObjectModel;
\r
6 using System.ComponentModel.Composition.Primitives;
\r
7 using System.ComponentModel.Composition.ReflectionModel;
\r
9 using System.Reflection;
\r
10 using Microsoft.Internal;
\r
11 using Microsoft.Internal.Collections;
\r
13 namespace System.ComponentModel.Composition.Hosting
\r
15 internal class AssemblyCatalogDebuggerProxy
\r
17 private readonly AssemblyCatalog _catalog;
\r
19 public AssemblyCatalogDebuggerProxy(AssemblyCatalog catalog)
\r
21 Requires.NotNull(catalog, "catalog");
\r
23 this._catalog = catalog;
\r
26 public Assembly Assembly
\r
28 get { return this._catalog.Assembly; }
\r
31 public ReadOnlyCollection<ComposablePartDefinition> Parts
\r
33 // NOTE: This shouldn't be cached, so that on every query of
\r
34 // the current value of the underlying catalog is respected.
\r
35 // We use ReadOnlyCollection as arrays do not have the
\r
36 // appropriate debugger display attributes applied to them.
\r
37 get { return this._catalog.Parts.ToReadOnlyCollection(); }
\r