Beispiel #1
0
 /// <summary>
 /// Factory scoped to a tagging context type
 /// </summary>
 /// <typeparam name="TMeta"></typeparam>
 /// <typeparam name="TFac"></typeparam>
 /// <param name="factory"></param>
 public void Factory <TTag, TFac>(Func <TFac> factory) where TTag : IContextTag
 {
     TaggedFactories.Get(typeof(TTag)).Add(factory);
 }
Beispiel #2
0
 public void Tag <TTag>()
     where TTag : IContextTag
 {
     // Simply ensure the tagged factory is generated
     TaggedFactories.Get(typeof(TTag));
 }
Beispiel #3
0
 public void Remove <TTag, TFac>() where TTag : IContextTag
 {
     TaggedFactories.Get(typeof(TTag)).Remove <TFac>();
 }
Beispiel #4
0
 public bool Has <TTag>()
     where TTag : IContextTag
 {
     return(TaggedFactories.Has(typeof(TTag)));
 }
Beispiel #5
0
 public TFac Get <TTag, TFac>() where TTag : IContextTag
 {
     return(TaggedFactories.Get(typeof(TTag)).Get <TFac>());
 }