LazyInitializer.EnsureInitialized Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza un tipo di destinazione se non è già stato inizializzato.
Overload
EnsureInitialized<T>(T) |
Inizializza un tipo di riferimento di destinazione con il relativo costruttore senza parametri se non è già stato inizializzato. |
EnsureInitialized<T>(T, Func<T>) |
Inizializza un tipo di riferimento di destinazione utilizzando una funzione specificata se non è già stato inizializzato. |
EnsureInitialized<T>(T, Boolean, Object) |
Inizializza un tipo riferimento o valore di destinazione con il relativo costruttore senza parametri se non è già stato inizializzato. |
EnsureInitialized<T>(T, Object, Func<T>) |
Inizializza un tipo di riferimento di destinazione con una funzione specificata se non è già stato inizializzato. |
EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Inizializza un tipo di riferimento o di valore di destinazione utilizzando una funzione specificata se non è già stato inizializzato. |
EnsureInitialized<T>(T)
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
Inizializza un tipo di riferimento di destinazione con il relativo costruttore senza parametri se non è già stato inizializzato.
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
Parametri di tipo
- T
Tipo del riferimento da inizializzare.
Parametri
- target
- T
Riferimento da inizializzare se non è già stato inizializzato. Se è null
, viene considerato non inizializzato; in caso contrario, viene considerato inizializzato.
Restituisce
Oggetto inizializzato.
Eccezioni
Le autorizzazioni per accedere al costruttore di tipo T
erano mancanti.
Il tipo T
non dispone di un costruttore senza parametri.
Commenti
Questo metodo può essere utilizzato solo sui tipi di riferimento. Per garantire l'inizializzazione dei tipi valore, vedere altri overload di EnsureInitialized
.
Questo metodo può essere usato contemporaneamente da più thread per inizializzare target
.
Nel caso in cui più thread accedano contemporaneamente a questo metodo, è possibile creare più istanze di T
, ma solo una verrà archiviata in target
e restituita. In tale occorrenza, questo metodo non eliminerà gli oggetti non archiviati. Se tali oggetti devono essere eliminati, utilizzare un overload che accetta valueFactory
e elimina l'oggetto se non fa riferimento allo stesso oggetto archiviato.
Vedi anche
Si applica a
EnsureInitialized<T>(T, Func<T>)
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
Inizializza un tipo di riferimento di destinazione utilizzando una funzione specificata se non è già stato inizializzato.
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
Parametri di tipo
- T
Tipo del riferimento da inizializzare.
Parametri
- target
- T
Riferimento da inizializzare se non è già stato inizializzato.
- valueFactory
- Func<T>
Funzione chiamata per inizializzare il riferimento.
Restituisce
Oggetto inizializzato.
Eccezioni
Il tipo T
non dispone di un costruttore senza parametri.
valueFactory
restituisce null (Nothing in Visual Basic).
Commenti
Questo metodo può essere utilizzato solo sui tipi riferimento e valueFactory
potrebbe non restituire un riferimento Null (Nothing in Visual Basic). Per garantire l'inizializzazione dei tipi valore o per consentire i tipi riferimento Null, vedere altri overload di EnsureInitialized.
Questo metodo può essere usato contemporaneamente da più thread per inizializzare target
.
Nel caso in cui più thread accedano contemporaneamente a questo metodo, è possibile creare più istanze di T
, ma solo una verrà archiviata in target
. In tale occorrenza, questo metodo non eliminerà gli oggetti non archiviati. Se tali oggetti devono essere eliminati, spetta al chiamante determinare se un oggetto non è stato utilizzato e quindi eliminare l'oggetto in modo appropriato.
Vedi anche
Si applica a
EnsureInitialized<T>(T, Boolean, Object)
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
Inizializza un tipo riferimento o valore di destinazione con il relativo costruttore senza parametri se non è già stato inizializzato.
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
Parametri di tipo
- T
Tipo del riferimento da inizializzare.
Parametri
- target
- T
Riferimento o valore di tipo T
da inizializzare se non è già stato inizializzato.
- initialized
- Boolean
Riferimento a un valore booleano che determina se la destinazione è già stata inizializzata.
- syncLock
- Object
Riferimento a un oggetto utilizzato come blocco a esclusione reciproca per l'inizializzazione di target
. Se syncLock
è null
, verrà creata un'istanza di un nuovo oggetto.
Restituisce
Oggetto inizializzato.
Eccezioni
Le autorizzazioni per accedere al costruttore di tipo T
erano mancanti.
Il tipo T
non dispone di un costruttore senza parametri.
Commenti
Se initialized
viene specificato come true, non viene eseguita un'ulteriore inizializzazione.
Vedi anche
Si applica a
EnsureInitialized<T>(T, Object, Func<T>)
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
Inizializza un tipo di riferimento di destinazione con una funzione specificata se non è già stato inizializzato.
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
Parametri di tipo
- T
Tipo del riferimento da inizializzare.
Parametri
- target
- T
Riferimento da inizializzare se non è già stato inizializzato. Se è null
, viene considerato non inizializzato; in caso contrario, viene considerato inizializzato.
- syncLock
- Object
Riferimento a un oggetto utilizzato come blocco a esclusione reciproca per l'inizializzazione di target
. Se syncLock
è null
, verrà creata un'istanza di un nuovo oggetto.
- valueFactory
- Func<T>
Metodo da richiamare per inizializzare target
.
Restituisce
Oggetto inizializzato.
Si applica a
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
- Origine:
- LazyInitializer.cs
Inizializza un tipo di riferimento o di valore di destinazione utilizzando una funzione specificata se non è già stato inizializzato.
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
Parametri di tipo
- T
Tipo del riferimento da inizializzare.
Parametri
- target
- T
Riferimento o valore di tipo T
da inizializzare se non è già stato inizializzato.
- initialized
- Boolean
Riferimento a un valore booleano che determina se la destinazione è già stata inizializzata.
- syncLock
- Object
Riferimento a un oggetto utilizzato come blocco a esclusione reciproca per l'inizializzazione di target
. Se syncLock
è null
, verrà creata un'istanza di un nuovo oggetto.
- valueFactory
- Func<T>
Funzione chiamata per inizializzare il riferimento o il valore.
Restituisce
Oggetto inizializzato.
Eccezioni
Le autorizzazioni per accedere al costruttore di tipo T
erano mancanti.
Il tipo T
non dispone di un costruttore senza parametri.
Commenti
Se initialized
viene specificato come true, non viene eseguita un'ulteriore inizializzazione.