GlobalContainer.cs 803 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. using log4net;
  3. using Quadarax.Foundation.Common.Object.Bee.Core.Pattern;
  4. using Quadarax.Foundation.Infrastructure.Layers;
  5. namespace Quadarax.Foundation.Infrastructure
  6. {
  7. internal class GlobalContainer : Singleton<GlobalContainer>
  8. {
  9. private GlobalLayer _global;
  10. private ILog _logger;
  11. public GlobalLayer RootLayer => _global;
  12. public GlobalContainer()
  13. {
  14. _logger = LogManager.GetLogger(GetType());
  15. }
  16. public void CreateGlobal<TGlobalLayer>(string globalLayerName) where TGlobalLayer : GlobalLayer
  17. {
  18. _global = (GlobalLayer) Activator.CreateInstance(typeof(TGlobalLayer), globalLayerName);
  19. }
  20. public string Dump()
  21. {
  22. return _global.Dump();
  23. }
  24. }
  25. }