static WindowManager() { // initialize window initializer initializerBase = new DefaultWindowInitializers(); // initialize singleton value instance = new WindowManager(); }
// METHODS /// <summary> /// Sets window initializer /// </summary> /// <param name="windowInitializers"> /// An instance of class that inheir from <see cref="WindowManagerInitializerBase"/> /// </param> public static void SetInitializer(WindowManagerInitializerBase windowInitializers) { // checking if (windowInitializers == null) { throw new ArgumentNullException(nameof(windowInitializers)); } // change initializer initializerBase = windowInitializers; // initialize with new value instance.factory.Clear(); windowInitializers.Initialize(instance); }