App.cs
25 lines
| 796 B
| text/x-csharp
|
CSharpLexer
cin
|
r152 | 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>(); | ||||
cin
|
r153 | /// <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> | ||||
cin
|
r152 | public static ICollection<object> RootContainer { | ||
get { return _root; } | ||||
} | ||||
static App() { | ||||
cin
|
r153 | AppDomain.CurrentDomain.DomainUnload += (sender, e) => _root.Dispose(); | ||
cin
|
r152 | } | ||
} | ||||
} | ||||