Using

1 resposta
eduardo.giullyanny

Bom dia!

Eu estou desenvolvendo há algum tempo(1 ano) usando o C#, vim do JAVA e anteriormente do PHP. Estou realmente impressionado com a produtividade e até com algumas técnicas.

Agora depois da babação eu vou fazer uma pergunta que já havia feito e imagina ter entendido. Eu sou daqueles que coisas mais simples devem ser entendido completamente;

Vejo em alguns lugares a utilização de códigos como assim:

using (SQLCommand cmd = SQLCommand){

// codigos

}

É utilizada apenas para evitar o Using no escopo da classe? Ou então toda a execução do bloco incluindo os parâmetros, são finalizado e ou se a classe que implementa o IDisposable poderar liberar os recursos logo ao resolver o bloco?

Alguém que entenda poderia me dar uma pequena aula?

1 Resposta

wldomiciano

Ao usar using, você assegura que todo recurso instanciado dentro dos parenteses seja liberado ao fim do bloco.

Como uma regra, quando se usa um objeto que implementa a interface IDisposable, vc deve declará-lo e instanciá-lo no using.

Eu vi esta informação neste link: using Statement (C# Reference)

Lá também tem um exemplo mostrando que é possível alcançar o mesmo efeito assim:

{
    Font font1 = new Font("Arial", 10.0f);

    try
    {
        byte charset = font1.GdiCharSet;
    }
    finally
    {
        if (font1 != null)
        ((IDisposable)font1).Dispose();
    }
}

Espero ter ajudado.

Criado 6 de março de 2017
Ultima resposta 6 de mar. de 2017
Respostas 1
Participantes 2