<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Definir una clase que implementa IDisposable</Title>
      <Author>Microsoft Corporation</Author>
      <Description>Implementa el patrón Dispose Finalize.</Description>
      <Keywords>
        <Keyword>IDisposable</Keyword>
        <Keyword>Finalizar</Keyword>
        <Keyword>Desechar</Keyword>
        <Keyword>liberar</Keyword>
        <Keyword>recurso</Keyword>
      </Keywords>
      <Shortcut>IDispose</Shortcut>
    </Header>
    <Snippet>
      <Imports>
        <Import>
          <Namespace>System</Namespace>
        </Import>
        <Import>
          <Namespace>System.ComponentModel</Namespace>
        </Import>
      </Imports>
      <Declarations>
        <Literal>
          <ID>ClassName</ID>
          <Type/>
          <ToolTip>Reemplazar por el nombre de la clase que está implementando.</ToolTip>
          <Default>ResourceClass</Default>
        </Literal>
      </Declarations>
      <Code Language="VB" Kind="type decl"><![CDATA[Class $ClassName$
    Implements IDisposable

#Region "IDisposable Support"
    Private disposedValue As Boolean ' To detect redundant calls

    ' IDisposable
    Protected Overridable Sub Dispose(ByVal disposing As Boolean)
        If Not Me.disposedValue Then
            If disposing Then
                ' TODO: dispose managed state (managed objects).
            End If

            ' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
            ' TODO: set large fields to null.
        End If
        Me.disposedValue = True
    End Sub

    ' TODO: override Finalize() only if Dispose(ByVal disposing As Boolean) above has code to free unmanaged resources.
    'Protected Overrides Sub Finalize()
    '    ' Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.
    '    Dispose(False)
    '    MyBase.Finalize()
    'End Sub

    ' This code added by Visual Basic to correctly implement the disposable pattern.
    Public Sub Dispose() Implements IDisposable.Dispose
        ' Do not change this code.  Put cleanup code in Dispose(ByVal disposing As Boolean) above.
        Dispose(True)
        GC.SuppressFinalize(Me)
    End Sub
#End Region

End Class]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
