Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

LazyInitializer (Clase)

Proporciona rutinas de inicialización diferida.

System.Object
  System.Threading.LazyInitializer

Espacio de nombres:  System.Threading
Ensamblado:  mscorlib (en mscorlib.dll)

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public static class LazyInitializer

  NombreDescripción
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEnsureInitialized<T>(T)Inicializa un tipo de referencia de destino con su constructor predeterminado si aún no se ha inicializado el destino.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEnsureInitialized<T>(T, Func<T>)Inicializa un tipo de referencia de destino utilizando la función especificada si aún no se ha inicializado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEnsureInitialized<T>(T, Boolean, Object)Inicializa un tipo de referencia de destino o tipo de valor con su constructor predeterminado si aún no se ha inicializado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEnsureInitialized<T>(T, Boolean, Object, Func<T>)Inicializa un tipo de referencia de destino o tipo de valor utilizando la función especificada si aún no se ha inicializado.
Arriba

Estas rutinas evitan la necesidad de asignar una instancia dedicada de inicialización diferida, en lugar de utilizar referencias para asegurarse de que los destinos se han inicializado tal como se tiene acceso a ellos.

NotaNota

El atributo HostProtectionAttribute aplicado a este tipo o miembro tiene el valor de propiedad Resources siguiente: Synchronization | ExternalThreading. El atributo HostProtectionAttribute no afecta a las aplicaciones de escritorio (que normalmente se inician haciendo doble clic en un icono, escribiendo un comando o introduciendo una dirección URL en el explorador). Para obtener más información, vea la clase HostProtectionAttribute o Programación en SQL Server y atributos de protección de host.

El siguiente ejemplo muestra cómo utilizar EnsureInitialized para inicializar de forma diferida un valor utilizando un valor booleano para comprobar si ya ha ocurrido la inicialización y un objeto para utilizar como bloqueo de exclusión mutua.

Dim _data As ExpensiveData = Nothing
Dim _dataInitialized As Boolean = False
Dim _dataLock As Object = Nothing
'    ...
Dim name = LazyInitializer.EnsureInitialized(_data, _dataInitialized, _dataLock)

[C#]

ExpensiveData _data = null;
                     bool _dataInitialized = false;
                     object _dataLock = new object();
                  //  ...

                    ExpensiveData dataToUse = LazyInitializer.EnsureInitialized(ref _data, ref _dataInitialized, ref _dataLock);

.NET Framework

Compatible con: 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Los métodos de LazyInitializer son seguros para subprocesos y se pueden llamar desde varios subprocesos simultáneamente.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft