1 instantiation of PartManager
System.ComponentModel.Composition (1)
System\ComponentModel\Composition\Hosting\ImportEngine.cs (1)
679
partManager = new
PartManager
(this, part);
56 references to PartManager
System.ComponentModel.Composition (56)
System\ComponentModel\Composition\Hosting\ImportEngine.cs (24)
24
private readonly Stack<
PartManager
> _recursionStateStack = new Stack<
PartManager
>();
25
private ConditionalWeakTable<ComposablePart,
PartManager
> _partManagers = new ConditionalWeakTable<ComposablePart,
PartManager
>();
114
var
partManager = GetPartManager(part, true)!;
163
PartManager
partManager = GetPartManager(part, true)!;
200
PartManager
partManager = GetPartManager(part, true)!;
235
PartManager
? partManager = GetPartManager(part, false);
290
private CompositionResult TryPreviewImportsStateMachine(
PartManager
partManager,
327
private CompositionResult TrySatisfyImportsStateMachine(
PartManager
partManager, ComposablePart part)
410
private CompositionResult TrySatisfyImports(
PartManager
partManager, ComposablePart part, bool shouldTrackImports)
450
private CompositionResult TrySatisfyImportSubset(
PartManager
partManager,
493
IEnumerable<
PartManager
> affectedParts = _recompositionManager.GetAffectedParts(e.ChangedContractNames);
510
foreach (
var
partManager in affectedParts)
518
private CompositionResult TryRecomposeImports(
PartManager
partManager,
567
private CompositionResult TryRecomposeImport(
PartManager
partManager, bool partComposed,
606
private void StartSatisfyingImports(
PartManager
partManager, AtomicComposition? atomicComposition)
626
private void StopSatisfyingImports(
PartManager
partManager, AtomicComposition? atomicComposition)
632
ConditionalWeakTable<ComposablePart,
PartManager
>? partManagers = null;
662
private
PartManager
? GetPartManager(ComposablePart part, bool createIfNotpresent)
664
PartManager
? partManager = null;
703
PartManager
firstPart = _recursionStateStack.First();
704
PartManager
? lastPart = null;
706
foreach (
PartManager
testPart in _recursionStateStack.Skip(1))
System\ComponentModel\Composition\Hosting\ImportEngine.EngineContext.cs (10)
18
private readonly List<
PartManager
> _addedPartManagers = new List<
PartManager
>();
19
private readonly List<
PartManager
> _removedPartManagers = new List<
PartManager
>();
28
public void AddPartManager(
PartManager
part)
38
public void RemovePartManager(
PartManager
part)
48
public IEnumerable<
PartManager
>? GetAddedPartManagers()
57
public IEnumerable<
PartManager
>? GetRemovedPartManagers()
68
foreach (
var
partManager in _addedPartManagers)
73
foreach (
var
partManager in _removedPartManagers)
System\ComponentModel\Composition\Hosting\ImportEngine.RecompositionManager.cs (22)
20
private readonly WeakReferenceCollection<
PartManager
> _partsToIndex = new WeakReferenceCollection<
PartManager
>();
21
private readonly WeakReferenceCollection<
PartManager
> _partsToUnindex = new WeakReferenceCollection<
PartManager
>();
22
private readonly Dictionary<string, WeakReferenceCollection<
PartManager
>> _partManagerIndex = new Dictionary<string, WeakReferenceCollection<
PartManager
>>();
24
public void AddPartToIndex(
PartManager
partManager)
29
public void AddPartToUnindex(
PartManager
partManager)
34
public List<
PartManager
> GetAffectedParts(IEnumerable<string> changedContractNames)
38
List<
PartManager
> parts = new List<
PartManager
>();
70
public IEnumerable<
PartManager
> GetPartsImporting(string contractName)
72
if (!_partManagerIndex.TryGetValue(contractName, out WeakReferenceCollection<
PartManager
>? partManagerList))
74
return Enumerable.Empty<
PartManager
>();
80
private void AddIndexEntries(
PartManager
partManager)
84
if (!_partManagerIndex.TryGetValue(contractName, out WeakReferenceCollection<
PartManager
>? indexEntries))
86
indexEntries = new WeakReferenceCollection<
PartManager
>();
97
private void RemoveIndexEntries(
PartManager
partManager)
101
if (_partManagerIndex.TryGetValue(contractName, out WeakReferenceCollection<
PartManager
>? indexEntries))
119
List<
PartManager
?> partsToUnindex = _partsToUnindex.AliveItemsToList()!;
127
foreach (
var
partManager in partsToIndex)
142
foreach (
var
partManager in partsToUnindex)