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.