Try/finaly ou using ?
Sabemos que no final das contas, ambos fazem a mesma coisa.
No entanto...
Ao usar o try/finnaly o objeto instanciado por você, deverá ser liberado dentro de finnaly (você deverá fazer isso manualmente), mas quando usamos using, está liberação é feita automaticamente.
O using atende a liberação de recursos. O objeto que será instânciado no comando “using”, é liberado automaticamente, ou seja, é chamado o “Dispose” deste objeto de forma totalmente automática.
O using é um tipo de atalho da liguagem. O compilador traduz o using para um comando muito semelhante a instrução nativa try/finaly.
Na prática como funciona? Vejamos um exemplo simples:
1- Aqui um código puro sem bloco de segurança.
TextWriter writer = new StreamWriter(”texto.txt”);
writer.WriteLine(”Aqui vem o texto.”);
writer.Dispose();
2- Agora o mesmo código, só que em uma construção dentro de um bloco seguro e com a liberação do recurso do objeto.
TextWriter writer = null;
try
{
writer = new StreamWriter(”texto.txt”);
writer.WriteLine(”Aqui vem o texto.”);
}
finally
{
if (writer != null)
writer1.Dispose();
}
3- Aqui o equivalente ao código anterior com o comando “using”.
using ( TextWriter writer = new StreamWriter(”texto.txt”) )
{
writer2.WriteLine(”Aqui vem o texto.”);
}
Bom, agora segue a dica:
Nunca se esqueça de SEMPRE usar o “using” quando estiver trabalhando com recursos não gerenciados.
Autor: Francke Peixoto
C# - usando o using
Procurar neste site . . .
Tempo
Categoria
- .net (22)
- Access (1)
- Ajax (1)
- C# (1)
- Componentes (1)
- Delphi (5)
- Eventos (1)
- Firebird (1)
- Firewall (1)
- Handheld Basic (2)
- hb++ (2)
- Internet Explorer (1)
- Java (2)
- Linux (3)
- Livros (3)
- Microsoft (1)
- Mono (1)
- Navegadores (1)
- NHibernate (2)
- Palm (2)
- PHP (3)
- Por dentro (5)
- Rave (1)
- Redes (1)
- Ruby (6)
- Segurança (1)
- SQL Server (1)
- Tecnologia (2)
- Turbo Delphi (3)
- Utilidade Publica (1)
- Web (2)
- Windows (6)
- Windows Server 2003 (1)
- XML (1)