|
// --------------------------------------------------------------------------------------------------------------------
// <copyright file="MessageService.cs" company="Catel development team">
// Copyright (c) 2008 - 2011 Catel development team. All rights reserved.
// </copyright>
// <summary>
// Singleton unity container to make it very easy to get instances services.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
using Microsoft.Practices.Unity;
namespace Catel.IoC
{
/// <summary>
/// Singleton unity container to make it very easy to get instances services.
/// </summary>
public sealed class UnityContainer
{
#region Variables
/// <summary>
/// The instance of this singleton class.
/// </summary>
private static readonly UnityContainer _instance = new UnityContainer();
/// <summary>
/// The <see cref="IUnityContainer"/> managed by this class.
/// </summary>
private static IUnityContainer _unityContainer;
/// <summary>
/// Lock object for the <see cref="_unityContainer"/> field.
/// </summary>
private static readonly object _unityContainerLock = new object();
#endregion
#region Constructor & destructor
#endregion
#region Properties
/// <summary>
/// Gets the instance of this singleton class.
/// </summary>
/// <value>The instance of this singleton class.</value>
public static UnityContainer Instance { get { return _instance; } }
/// <summary>
/// Gets the <see cref="IUnityContainer"/> maanged by this class.
/// </summary>
/// <value>The unity container.</value>
public IUnityContainer Container
{
get
{
if (_unityContainer == null)
{
lock (_unityContainerLock)
{
if (_unityContainer == null)
{
_unityContainer = new Microsoft.Practices.Unity.UnityContainer();
}
}
}
return _unityContainer;
}
}
#endregion
#region Methods
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.