Usando os objetos que encapsulam recursos
Quando você escreve o código que usa um objeto que encapsula um recurso, você deve verificar se o objeto Dispose método é chamado quando você terminar de usar o objeto. Você pode fazer isso com C# usando instrução ou implementando um bloco try/finally em outras linguagens que visam common language runtime.
Instrução Using C#
O C# linguagem de programação usando instrução faz uma chamada para o Dispose método mais automático, simplificando o código que você deve escrever para criar e limpar um objeto. O usando instrução obtém um ou mais recursos, executa as instruções que você especificar e, em seguida, descarta o objeto. Observe que o usando instrução é útil somente para objetos com um tempo de vida não ultrapassam o método no qual os objetos são construídos. O exemplo de código a seguir cria e limpa uma instância da ResourceWrapper de classe, conforme ilustrado no exemplo C# de Implementando um método Dispose.
class myApp
{
public static void Main()
{
using (ResourceWrapper r1 = new ResourceWrapper())
{
// Do something with the object.
r1.DoSomething();
}
}
}
Anterior de código, incorporando a usando de instrução, é equivalente à seguinte.
class myApp
{
public static void Main()
{
ResourceWrapper r1 = new ResourceWrapper();
try
{
// Do something with the object.
r1.DoSomething();
}
finally
{
// Check for a null resource.
if (r1 != null)
// Call the object's Dispose method.
r1.Dispose();
}
}
}
C# usando instrução lhe permite adquirir vários recursos em uma única instrução equivale internamente para aninhadas usando instruções. Para mais informações e um exemplo de código, consulte usando instrução (referência de TRANSLATION FROM VPE FOR CSHARP).
Bloco Try/Finally
Quando você escreve código gerenciado que usa um objeto que encapsula um recurso em linguagens diferentes, por exemplo, C#, use um bloco try/finally para garantir que uma chamada é feita para o objeto Dispose método. O exemplo de código a seguir cria e limpa uma instância da recurso de classe, conforme ilustrado no exemplo de Visual Basic de Implementando um método Dispose.
class myApp
Public Shared Sub Main()
Resource r1 = new Resource()
Try
' Do something with the object.
r1.DoSomething()
Finally
' Check for a null resource.
If Not (r1 is Nothing) Then
' Call the object's Dispose method.
r1.Dispose()
End If
End Try
End Sub
End Class
Consulte também
Referência
usando instrução (referência de TRANSLATION FROM VPE FOR CSHARP)