LazyInitializer.EnsureInitialized Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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
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
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
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
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.