LazyInitializer.EnsureInitialized Método

Definição

Inicializa um tipo de destino se ele ainda não tiver sido inicializado.

Sobrecargas

Nome Description
EnsureInitialized<T>(T)

Inicializa um tipo de referência de destino com o construtor sem parâmetros do tipo se ele ainda não tiver sido inicializado.

EnsureInitialized<T>(T, Func<T>)

Inicializa um tipo de referência de destino usando uma função especificada se ela ainda não foi inicializada.

EnsureInitialized<T>(T, Boolean, Object)

Inicializa uma referência de destino ou um tipo de valor com seu construtor sem parâmetros se ele ainda não tiver sido inicializado.

EnsureInitialized<T>(T, Object, Func<T>)

Inicializa um tipo de referência de destino com uma função especificada se ela ainda não foi inicializada.

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

Inicializa uma referência de destino ou um tipo de valor usando uma função especificada se ela ainda não tiver sido inicializada.

EnsureInitialized<T>(T)

Inicializa um tipo de referência de destino com o construtor sem parâmetros do tipo se ele ainda não tiver sido inicializado.

public:
generic <typename T>
 where T : class static T EnsureInitialized(T % target);
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 inicializada.

Parâmetros

target
T

Uma referência para inicializar se ela ainda não tiver sido inicializada. Se for null, ele não será considerado inicializado; caso contrário, ele será considerado inicializado.

Retornos

T

O objeto inicializado.

Exceções

As 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.

Caso vários threads acessem esse método simultaneamente, várias instâncias podem T ser criadas, mas apenas uma será armazenada e retornada target . Em tal 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 especificada se ela ainda não foi 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;
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 inicializada.

Parâmetros

target
T

A referência a ser inicializada se ainda não tiver sido inicializada.

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 retornado nulo (Nothing in Visual Basic).

Comentários

Esse método só pode ser usado em tipos de referência e valueFactory pode não 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.

Caso vários threads acessem esse método simultaneamente, várias instâncias podem T ser criadas, mas apenas uma será armazenada em target. Em tal 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âmetros se ele ainda não tiver sido 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);
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 inicializada.

Parâmetros

target
T

Uma referência ou valor de tipo T a ser inicializado se ainda 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 inicialização target. Se syncLock for null, um novo objeto será instanciado.

Retornos

T

O objeto inicializado.

Exceções

As 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>)

Inicializa um tipo de referência de destino com uma função especificada se ela ainda não foi inicializada.

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;
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 inicializada.

Parâmetros

target
T

Uma referência para inicializar se ela ainda não tiver sido inicializada. Se for null, ele não será considerado inicializado; caso contrário, ele será considerado inicializado.

syncLock
Object

Uma referência a um objeto usado como o bloqueio mutuamente exclusivo para inicialização target. Se syncLock for null, um novo objeto será instanciado.

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 uma referência de destino ou um tipo de valor usando uma função especificada se ela 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);
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 inicializada.

Parâmetros

target
T

Uma referência ou valor de tipo T a ser inicializado se ainda 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 inicialização target. Se syncLock for null, um novo objeto será instanciado.

valueFactory
Func<T>

A função que é chamada para inicializar a referência ou o valor.

Retornos

T

O objeto inicializado.

Exceções

As 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