LazyInitializer.EnsureInitialized Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa um tipo de destino se ele ainda não tiver sido inicializado.
Sobrecargas
EnsureInitialized<T>(T) |
Inicializa um tipo de referência de destino com o construtor sem parâmetro de tipo se ele ainda não foi inicializado. |
EnsureInitialized<T>(T, Func<T>) |
Inicializa um tipo de referência de destino usando uma função especificadas se ainda não tiver sido inicializada. |
EnsureInitialized<T>(T, Boolean, Object) |
Inicializa uma referência de destino ou um tipo de valor com seu construtor sem parâmetro se ele ainda não foi inicializado. |
EnsureInitialized<T>(T, Object, Func<T>) |
Inicializará um tipo de referência de destino com uma função especificada se ainda não tiver sido inicializado. |
EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Inicializa um tipo de valor ou referência de destino usando uma função especificadas se ainda não tiver sido inicializada. |
EnsureInitialized<T>(T)
Inicializa um tipo de referência de destino com o construtor sem parâmetro de tipo se ele ainda não foi inicializado.
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
O tipo da referência a ser inicializado.
Parâmetros
- target
- T
Uma referência para inicializar se ela ainda não tiver sido inicializada. Se for null
, ela será considerada não inicializada; do contrário, será considerada inicializada.
Retornos
- T
O objeto inicializado.
Exceções
Permissões para acessar o construtor do tipo T
estavam ausentes.
O tipo T
não tem um construtor sem parâmetros.
Comentários
Esse método só pode ser usado em tipos de referência. Para garantir a inicialização de tipos de valor, consulte outras sobrecargas de EnsureInitialized
.
Esse método pode ser usado simultaneamente por vários threads para inicializar target
.
No caso de vários threads acessarem esse método simultaneamente, várias instâncias podem T
ser criadas, mas apenas uma será armazenada e retornada target
. Nessa ocorrência, esse método não descartará os objetos que não foram armazenados. Se esses objetos precisarem ser descartados, use uma sobrecarga que leve um valueFactory
e descarte do objeto se ele não fizer referência ao mesmo objeto armazenado.
Confira também
Aplica-se a
EnsureInitialized<T>(T, Func<T>)
Inicializa um tipo de referência de destino usando uma função especificadas se ainda não tiver sido inicializada.
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
O tipo da referência a ser inicializado.
Parâmetros
- target
- T
Uma referência a ser inicializada se ainda não tiver sido.
- valueFactory
- Func<T>
A função que é chamada para inicializar a referência.
Retornos
- T
O objeto inicializado.
Exceções
O tipo T
não tem um construtor sem parâmetros.
valueFactory
retornou null (Nothing no Visual Basic).
Comentários
Esse método só pode ser usado em tipos de referência e valueFactory
não pode retornar uma referência nula (Nothing in Visual Basic). Para garantir a inicialização de tipos de valor ou permitir tipos de referência nulos, consulte outras sobrecargas de EnsureInitialized.
Esse método pode ser usado simultaneamente por vários threads para inicializar target
.
No caso de vários threads acessarem esse método simultaneamente, várias instâncias podem T
ser criadas, mas apenas uma será armazenada em target
. Nessa ocorrência, esse método não descartará os objetos que não foram armazenados. Se esses objetos precisarem ser descartados, cabe ao chamador determinar se um objeto não foi usado e, em seguida, descartar o objeto adequadamente.
Confira também
Aplica-se a
EnsureInitialized<T>(T, Boolean, Object)
Inicializa uma referência de destino ou um tipo de valor com seu construtor sem parâmetro se ele ainda não foi 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
O tipo da referência a ser inicializado.
Parâmetros
- target
- T
Uma referência ou um valor do tipo T
a ser inicializado se já não tiver sido inicializado.
- initialized
- Boolean
Uma referência a um valor booliano que determina se o destino já foi inicializado.
- syncLock
- Object
Uma referência a um objeto usado como o bloqueio mutuamente exclusivo para inicializar target
. Se syncLock
for null
, será criada uma instância de um novo objeto.
Retornos
- T
O objeto inicializado.
Exceções
Permissões para acessar o construtor do tipo T
estavam ausentes.
O tipo T
não tem um construtor sem parâmetros.
Comentários
Se initialized
for especificado como true, nenhuma inicialização adicional ocorrerá.
Confira também
Aplica-se a
EnsureInitialized<T>(T, Object, Func<T>)
Inicializará um tipo de referência de destino com uma função especificada se ainda não tiver sido 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
O tipo da referência a ser inicializado.
Parâmetros
- target
- T
Uma referência para inicializar se ela ainda não tiver sido inicializada. Se for null
, ela será considerada não inicializada; do contrário, será considerada inicializada.
- syncLock
- Object
Uma referência a um objeto usado como o bloqueio mutuamente exclusivo para inicializar target
. Se syncLock
for null
, será criada uma instância de um novo objeto.
- valueFactory
- Func<T>
O método a ser invocado para inicializar target
.
Retornos
- T
O objeto inicializado.
Aplica-se a
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
Inicializa um tipo de valor ou referência de destino usando uma função especificadas se ainda não tiver sido inicializada.
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
O tipo da referência a ser inicializado.
Parâmetros
- target
- T
Uma referência ou um valor do tipo T
a ser inicializado se já não tiver sido inicializado.
- initialized
- Boolean
Uma referência a um valor booliano que determina se o destino já foi inicializado.
- syncLock
- Object
Uma referência a um objeto usado como o bloqueio mutuamente exclusivo para inicializar target
. Se syncLock
for null
, será criada uma instância de um novo objeto.
- valueFactory
- Func<T>
A função que é chamada para inicializar a referência ou valor.
Retornos
- T
O objeto inicializado.
Exceções
Permissões para acessar o construtor do tipo T
estavam ausentes.
O tipo T
não tem um construtor sem parâmetros.
Comentários
Se initialized
for especificado como true, nenhuma inicialização adicional ocorrerá.