view Implab/Components/App.cs @ 210:5dc21f6a3222 v2

Code review for RunnableComponent Added StaApartment class based on System.Windows.Forms.Application message loop
author cin
date Mon, 20 Mar 2017 17:44:18 +0300
parents b933ec88446e
children
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace Implab.Components {
    /// <summary>
    /// Global application components and services.
    /// </summary>
    public static class App {
        readonly static ComponentContainer<object> _root = new ComponentContainer<object>();

        /// <summary>
        /// The container for application level components.
        /// </summary>
        /// <remarks>Pools of disposable objects can be placed here and they will be automatically
        /// disposed when application domain is unloaded.</remarks>
        public static ICollection<object> RootContainer {
            get { return _root; }
        }

        static App() {
            AppDomain.CurrentDomain.DomainUnload += (sender, e) => _root.Dispose();
        }
    }
}