2 using System
.Diagnostics
;
3 using System
.Collections
.Generic
;
4 using Microsoft
.Internal
;
6 namespace System
.ComponentModel
.Composition
.Hosting
8 internal static class AtomicCompositionExtensions
10 internal static T GetValueAllowNull
<T
>(this AtomicComposition atomicComposition
, T defaultResultAndKey
) where T
: class
12 Assumes
.NotNull(defaultResultAndKey
);
14 return GetValueAllowNull
<T
>(atomicComposition
, defaultResultAndKey
, defaultResultAndKey
);
17 internal static T GetValueAllowNull
<T
>(this AtomicComposition atomicComposition
, object key
, T defaultResult
)
20 if (atomicComposition
!= null && atomicComposition
.TryGetValue(key
, out result
))
28 internal static void AddRevertActionAllowNull(this AtomicComposition atomicComposition
, Action action
)
30 Assumes
.NotNull(action
);
32 if (atomicComposition
== null)
38 atomicComposition
.AddRevertAction(action
);
42 internal static void AddCompleteActionAllowNull(this AtomicComposition atomicComposition
, Action action
)
44 Assumes
.NotNull(action
);
46 if (atomicComposition
== null)
52 atomicComposition
.AddCompleteAction(action
);