Evaluar y enviar comentarios

  Encender vista de ancho de banda bajo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Referencia del lenguaje C#
using (Instrucción, Referencia de C#)

Define un ámbito fuera del cual se eliminará un objeto u objetos.

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

C#, a través de Common Language Runtime (CLR) de .NET Framework, libera automáticamente la memoria utilizada para almacenar objetos que ya no son necesarios. La liberación de memoria no es determinista; se libera cuando CLR decide realizar la recolección de elementos no utilizados. Sin embargo, normalmente es mejor liberar los recursos limitados, como identificadores de archivos y conexiones de red, tan rápido como sea posible.

La instrucción using permite al programador especificar cuándo los objetos que utilizan recursos deben liberarlos. El objeto proporcionado a la instrucción using debe implementar la interfaz IDisposable. Esta interfaz proporciona el método Dispose, que debería liberar los recursos del objeto.

Es posible salir de una instrucción using cuando se alcanza el final de la instrucción using o cuando se produce una excepción y el control abandona el bloque de la instrucción antes de llegar al final.

El objeto se puede declarar en la instrucción using, como se mostró anteriormente, a delante de ella, del modo siguiente:

Font font2 = new Font("Arial", 10.0f);
using (font2)
{
    // use font2
}

Se pueden utilizar varios objetos con una instrucción using, pero se deben declarar dentro de la instrucción using, como sigue:

        using (Font font3 = new Font("Arial", 10.0f), 
           font4 = new Font("Arial", 10.0f))
{
    // Use font3 and font4.
}

El ejemplo siguiente muestra cómo una clase definida por el usuario puede implementar su propio comportamiento Dispose. Observe que su tipo debe heredarse de IDisposable.

using System;

class C : IDisposable
{
    public void UseLimitedResource()
    {
        Console.WriteLine("Using limited resource...");
    }

    void IDisposable.Dispose()
    {
        Console.WriteLine("Disposing limited resource.");
    }
}

class Program
{
    static void Main()
    {
        using (C c = new C())
        {
            c.UseLimitedResource();
        }
        Console.WriteLine("Now outside using statement.");
        Console.ReadLine();
    }
}

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 5.3.3.17 Instrucciones Using

  • 8.13 La instrucción using

Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso  |  Marcas Registradas  |  Privacidad
Page view tracker