LazyInitializer.EnsureInitialized Método

Definição

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

Sobrecargas

Name Description
EnsureInitialized<T>(T)

Inicializa um tipo de referência alvo com o construtor sem parâmetros do tipo, caso ainda não tenha sido inicializado.

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

Inicializa um tipo de referência alvo usando uma função especificada, caso ainda não tenha sido inicializada.

EnsureInitialized<T>(T, Boolean, Object)

Inicializa uma referência de alvo ou tipo de valor com o seu construtor sem parâmetros, caso ainda não tenha sido inicializado.

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

Inicializa um tipo de referência alvo com uma função especificada se ainda não tiver sido inicializada.

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

Inicializa uma referência ou tipo de valor alvo usando uma função especificada, caso ainda não tenha sido inicializada.

EnsureInitialized<T>(T)

Inicializa um tipo de referência alvo com o construtor sem parâmetros do tipo, caso ainda não tenha 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 Genérico

T

O tipo da referência a ser inicializada.

Parâmetros

target
T

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

Devoluções

T

O objeto inicializado.

Exceções

Faltavam permissões para aceder ao construtor do tipo T .

O tipo T não possui um construtor sem parâmetros.

Observações

Este método só pode ser usado em tipos de referência. Para garantir a inicialização dos tipos de valor, veja outras sobrecargas de EnsureInitialized.

Este método pode ser usado simultaneamente por múltiplas threads para inicializar target.

No caso de múltiplos threads acedirem a este método em simultâneo, podem ser criadas múltiplas instâncias de T , mas apenas uma será armazenada e target devolvida. Nesse caso, este método não eliminará os objetos que não foram armazenados. Se tais objetos tiverem de ser descartados, use uma sobrecarga que tome um valueFactory e elimine o objeto se este não fizer referência ao mesmo objeto armazenado.

Ver também

Aplica-se a

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

Inicializa um tipo de referência alvo usando uma função especificada, caso ainda não tenha 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;
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 Genérico

T

O tipo da referência a ser inicializada.

Parâmetros

target
T

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

valueFactory
Func<T>

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

Devoluções

T

O objeto inicializado.

Exceções

O tipo T não possui um construtor sem parâmetros.

valueFactory retornou null (Nada em Visual Basic).

Observações

Este método só pode ser usado em tipos de referência, e valueFactory não pode devolver uma referência nula (Nada em Visual Basic). Para garantir a inicialização dos tipos de valor ou permitir tipos de referência nulos, veja outras sobrecargas do EnsureInitialized.

Este método pode ser usado simultaneamente por múltiplas threads para inicializar target.

No caso de múltiplas threads aceder a este método em simultâneo, podem ser criadas múltiplas instâncias de T , mas apenas uma será armazenada em target. Nesse caso, este método não eliminará os objetos que não foram armazenados. Se tais objetos tiverem de ser descartados, cabe ao chamador determinar se um objeto não foi usado e depois descartá-lo de forma adequada.

Ver também

Aplica-se a

EnsureInitialized<T>(T, Boolean, Object)

Inicializa uma referência de alvo ou tipo de valor com o seu construtor sem parâmetros, caso ainda não tenha 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 Genérico

T

O tipo da referência a ser inicializada.

Parâmetros

target
T

Uma referência ou valor de tipo T para inicializar caso ainda não tenha sido inicializado.

initialized
Boolean

Uma referência a um valor booleano que determina se o alvo já foi inicializado.

syncLock
Object

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

Devoluções

T

O objeto inicializado.

Exceções

Faltavam permissões para aceder ao construtor do tipo T .

O tipo T não possui um construtor sem parâmetros.

Observações

Se initialized for especificado como verdadeiro, então não ocorre mais inicialização.

Ver também

Aplica-se a

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

Inicializa um tipo de referência alvo com uma função especificada se ainda não tiver sido 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 Genérico

T

O tipo da referência a ser inicializada.

Parâmetros

target
T

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

syncLock
Object

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

valueFactory
Func<T>

O método a invocar para inicializar target.

Devoluções

T

O objeto inicializado.

Aplica-se a

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

Inicializa uma referência ou tipo de valor alvo usando uma função especificada, caso ainda não tenha 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 Genérico

T

O tipo da referência a ser inicializada.

Parâmetros

target
T

Uma referência ou valor de tipo T para inicializar caso ainda não tenha sido inicializado.

initialized
Boolean

Uma referência a um valor booleano que determina se o alvo já foi inicializado.

syncLock
Object

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

valueFactory
Func<T>

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

Devoluções

T

O objeto inicializado.

Exceções

Faltavam permissões para aceder ao construtor do tipo T .

O tipo T não possui um construtor sem parâmetros.

Observações

Se initialized for especificado como verdadeiro, então não ocorre mais inicialização.

Ver também

Aplica-se a