LazyInitializer.EnsureInitialized Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa un tipo de destino si aún no se ha inicializado.
Sobrecargas
EnsureInitialized<T>(T) |
Inicializa un tipo de referencia de destino con su constructor sin parámetros si aún no se ha inicializado el destino. |
EnsureInitialized<T>(T, Func<T>) |
Inicializa un tipo de referencia de destino utilizando la función especificada si aún no se ha inicializado. |
EnsureInitialized<T>(T, Boolean, Object) |
Inicializa un tipo de valor o referencia de destino con su constructor sin parámetros si aún no se ha inicializado. |
EnsureInitialized<T>(T, Object, Func<T>) |
Inicializa un tipo de referencia de destino con una función especificada si aún no se ha inicializado. |
EnsureInitialized<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. |
EnsureInitialized<T>(T)
Inicializa un tipo de referencia de destino con su constructor sin parámetros si aún no se ha inicializado el destino.
public:
generic <typename T>
where T : class static T EnsureInitialized(T % target);
public static T EnsureInitialized<T> (ref T target) where T : class;
public static T EnsureInitialized<T> (ref T? target) where T : class;
static member EnsureInitialized : 'T -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T) As T
Parámetros de tipo
- T
Tipo de referencia que se va a inicializar.
Parámetros
- target
- T
Referencia que se va a inicializar si aún no se ha inicializado. Si es null
, se considera que no se ha inicializado; de lo contrario, se considera inicializado.
Devoluciones
- T
Objeto inicializado.
Excepciones
Faltaban los permisos para tener acceso al constructor de tipo T
.
El tipo T
no tiene ningún constructor sin parámetros.
Comentarios
Este método solo se puede usar en tipos de referencia. Para garantizar la inicialización de tipos de valor, vea otras sobrecargas de EnsureInitialized
.
Varios subprocesos pueden usar este método simultáneamente para inicializar target
.
En caso de que varios subprocesos accedan a este método simultáneamente, se pueden crear varias instancias de T
, pero solo se almacenará una en target
y se devolverá. En tal caso, este método no eliminará los objetos que no se almacenaron. Si estos objetos deben eliminarse, use una sobrecarga que tome y valueFactory
elimine el objeto si no hace referencia al mismo objeto almacenado.
Consulte también
Se aplica a
EnsureInitialized<T>(T, Func<T>)
Inicializa un tipo de referencia de destino utilizando la función especificada si aún no se ha inicializado.
public:
generic <typename T>
where T : class static T EnsureInitialized(T % target, Func<T> ^ valueFactory);
public static T EnsureInitialized<T> (ref T target, Func<T> valueFactory) where T : class;
public static T EnsureInitialized<T> (ref T? target, Func<T> valueFactory) where T : class;
static member EnsureInitialized : 'T * Func<'T (requires 'T : null)> -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T, valueFactory As Func(Of T)) As T
Parámetros de tipo
- T
Tipo de referencia que se va a inicializar.
Parámetros
- target
- T
Referencia que se va a inicializar si aún no se ha inicializado.
- valueFactory
- Func<T>
Función que se llama para inicializar la referencia.
Devoluciones
- T
Objeto inicializado.
Excepciones
El tipo T
no tiene ningún constructor sin parámetros.
valueFactory
devuelve un valor NULL (Nothing en Visual Basic).
Comentarios
Este método solo se puede usar en tipos de referencia y valueFactory
no puede devolver una referencia nula (Nothing en Visual Basic). Para garantizar la inicialización de tipos de valor o para permitir tipos de referencia null, consulte otras sobrecargas de EnsureInitialized.
Varios subprocesos pueden usar este método simultáneamente para inicializar target
.
En caso de que varios subprocesos accedan a este método simultáneamente, se pueden crear varias instancias de T
, pero solo se almacenará una en target
. En tal caso, este método no eliminará los objetos que no se almacenaron. Si estos objetos deben eliminarse, depende del autor de la llamada determinar si no se usó un objeto y, a continuación, eliminar el objeto de forma adecuada.
Consulte también
Se aplica a
EnsureInitialized<T>(T, Boolean, Object)
Inicializa un tipo de valor o referencia de destino con su constructor sin parámetros si aún no se ha inicializado.
public:
generic <typename T>
static T EnsureInitialized(T % target, bool % initialized, System::Object ^ % syncLock);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object syncLock);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object? syncLock);
static member EnsureInitialized : 'T * bool * obj -> 'T
Public Shared Function EnsureInitialized(Of T) (ByRef target As T, ByRef initialized As Boolean, ByRef syncLock As Object) As T
Parámetros de tipo
- T
Tipo de referencia que se va a inicializar.
Parámetros
- target
- T
Referencia o valor de tipo T
que se va a inicializar si aún no se ha inicializado.
- initialized
- Boolean
Referencia a un valor booleano que determina si ya se ha inicializado el destino.
- syncLock
- Object
Referencia a un objeto que se usa como bloqueo mutuamente excluyente para la inicialización de target
. Si syncLock
es null
, se creará una instancia de un nuevo objeto.
Devoluciones
- T
Objeto inicializado.
Excepciones
Faltaban los permisos para tener acceso al constructor de tipo T
.
El tipo T
no tiene ningún constructor sin parámetros.
Comentarios
Si initialized
se especifica como true, no se produce ninguna inicialización adicional.
Consulte también
Se aplica a
EnsureInitialized<T>(T, Object, Func<T>)
Inicializa un tipo de referencia de destino con una función especificada si aún no se ha inicializado.
public:
generic <typename T>
where T : class static T EnsureInitialized(T % target, System::Object ^ % syncLock, Func<T> ^ valueFactory);
public static T EnsureInitialized<T> (ref T? target, ref object? syncLock, Func<T> valueFactory) where T : class;
public static T EnsureInitialized<T> (ref T target, ref object syncLock, Func<T> valueFactory) where T : class;
static member EnsureInitialized : 'T * obj * Func<'T (requires 'T : null)> -> 'T (requires 'T : null)
Public Shared Function EnsureInitialized(Of T As Class) (ByRef target As T, ByRef syncLock As Object, valueFactory As Func(Of T)) As T
Parámetros de tipo
- T
Tipo de referencia que se va a inicializar.
Parámetros
- target
- T
Referencia que se va a inicializar si aún no se ha inicializado. Si es null
, se considera que no se ha inicializado; de lo contrario, se considera inicializado.
- syncLock
- Object
Referencia a un objeto que se usa como bloqueo mutuamente excluyente para la inicialización de target
. Si syncLock
es null
, se creará una instancia de un nuevo objeto.
- valueFactory
- Func<T>
Método que se va a invocar para inicializar target
.
Devoluciones
- T
Objeto inicializado.
Se aplica a
EnsureInitialized<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.
public:
generic <typename T>
static T EnsureInitialized(T % target, bool % initialized, System::Object ^ % syncLock, Func<T> ^ valueFactory);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object syncLock, Func<T> valueFactory);
public static T EnsureInitialized<T> (ref T target, ref bool initialized, ref object? syncLock, Func<T> valueFactory);
static member EnsureInitialized : 'T * bool * obj * Func<'T> -> 'T
Public Shared Function EnsureInitialized(Of T) (ByRef target As T, ByRef initialized As Boolean, ByRef syncLock As Object, valueFactory As Func(Of T)) As T
Parámetros de tipo
- T
Tipo de referencia que se va a inicializar.
Parámetros
- target
- T
Referencia o valor de tipo T
que se va a inicializar si aún no se ha inicializado.
- initialized
- Boolean
Referencia a un valor booleano que determina si ya se ha inicializado el destino.
- syncLock
- Object
Referencia a un objeto que se usa como bloqueo mutuamente excluyente para la inicialización de target
. Si syncLock
es null
, se creará una instancia de un nuevo objeto.
- valueFactory
- Func<T>
Función que se llama para inicializar la referencia o el valor.
Devoluciones
- T
Objeto inicializado.
Excepciones
Faltaban los permisos para tener acceso al constructor de tipo T
.
El tipo T
no tiene ningún constructor sin parámetros.
Comentarios
Si initialized
se especifica como true, no se produce ninguna inicialización adicional.