disposeパターンコードスニペット

IDisposeよく使うけどいつも書くのめんどいので。
コードスニペットについては
IntelliSense コード スニペットの作成と使用
あたり参照

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>
        Dispose pattern
      </Title>
      <Shortcut>dispose</Shortcut>
      <Description>dispose パターンの実装。</Description>
    </Header>
    <Snippet>
      <Declarations>
        <Literal Editable="false">
          <ID>classname</ID>
          <ToolTip>Class name</ToolTip>
          <Function>ClassName()</Function>
          <Default>ClassNamePlaceholder</Default>
        </Literal>
      </Declarations>
      <Code Language="CSharp" Kind="method decl">
        <![CDATA[
    #region Dispose pattern
    /// <summary>
    /// リソースが解放されているかどうかを示します。
    /// </summary>
    bool _disposed;

    /// <summary>
    /// $classname$ で使用されるすべてのリソースを解放します。
    /// </summary>
    public void Dispose() {
      GC.SuppressFinalize( this );
      Dispose( true );
    }

    /// <summary>
    /// $classname$ によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。
    /// </summary>
    /// <param name="disposing">マネージ リソースとアンマネージ リソースの両方を解放する場合は true。アンマネージ リソースだけを解放する場合は false。</param>
    protected virtual void Dispose( bool disposing ) {
      if ( _disposed ) {
        return;
      }
      _disposed = true;

      if ( disposing ) {
      }
    }

    ~$classname$() {
      Dispose( false );
    }
    #endregion]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>