Return to Snippet

Revision: 39228
at January 14, 2011 23:59 by ak98


Initial Code
private static [[ViewModelType]] [[_viewModelPropertyName]];

/// <summary>
/// Gets the [[ViewModelPropertyName]] property.
/// </summary>
public static [[ViewModelType]] [[ViewModelPropertyName]]Static
{
    get
    {
        if (]]_viewModelPropertyName]] == null)
        {
            Create]]ViewModelPropertyName]]();
        }

        return [[_viewModelPropertyName]];
    }
}

/// <summary>
/// Gets the [[ViewModelPropertyName]] property.
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance",
    "CA1822:MarkMembersAsStatic",
    Justification = "This non-static member is needed for data binding purposes.")]
public [[ViewModelType]] [[ViewModelPropertyName]]
{
    get
    {
        return [[ViewModelPropertyName]]Static;
    }
}

/// <summary>
/// Provides a deterministic way to delete the [[ViewModelPropertyName]] property.
/// </summary>
public static void Clear]]ViewModelPropertyName]]()
{
    [[_viewModelPropertyName]].Cleanup();
    [[_viewModelPropertyName]] = null;
}

/// <summary>
/// Provides a deterministic way to create the [[ViewModelPropertyName]] property.
/// </summary>
public static void Create]]ViewModelPropertyName]]()
{
    if (]]_viewModelPropertyName]] == null)
    {
        [[_viewModelPropertyName]] = new [[ViewModelType]]();
    }
}

/// <summary>
/// Cleans up all the resources.
/// </summary>
public static void Cleanup()
{
    Clear]]ViewModelPropertyName]]();
}

Initial URL


Initial Description


Initial Title
ViewModelLocator property

Initial Tags


Initial Language
C#