LazyInitializer.EnsureInitialized Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert einen Zieltyp, wenn der noch nicht initialisiert wurde.
Überlädt
EnsureInitialized<T>(T) |
Initialisiert einen Zielverweistyp mit seinem parameterlosen Konstruktor, wenn er noch nicht initialisiert wurde. |
EnsureInitialized<T>(T, Func<T>) |
Initialisiert einen Zielverweistyp mit einer angegebenen Funktion, wenn er noch nicht initialisiert wurde. |
EnsureInitialized<T>(T, Boolean, Object) |
Initialisiert einen Zielverweis- oder Werttyp mit seinem parameterlosen Konstruktor, wenn er noch nicht initialisiert wurde. |
EnsureInitialized<T>(T, Object, Func<T>) |
Initialisiert einen Zielverweistyp mit einer angegebenen Funktion, wenn er noch nicht initialisiert wurde. |
EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Initialisiert einen Zielverweis- oder Werttyp mit einer angegebenen Funktion, wenn er noch nicht initialisiert wurde. |
EnsureInitialized<T>(T)
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
Initialisiert einen Zielverweistyp mit seinem parameterlosen Konstruktor, wenn er noch nicht initialisiert wurde.
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
Typparameter
- T
Der Typ des zu initialisierenden Verweises.
Parameter
- target
- T
Ein Verweis, der initialisiert werden soll, wenn er noch nicht initialisiert wurde. Bei null
wird er als nicht initialisiert betrachtet, andernfalls gilt er als initialisiert.
Gibt zurück
Das initialisierte Objekt.
Ausnahmen
Berechtigungen, auf den Konstruktor des Typs T
zuzugreifen, haben gefehlt.
Der Typ T
hat keinen parameterlosen Konstruktor.
Hinweise
Diese Methode kann nur für Verweistypen verwendet werden. Informationen zur Initialisierung von Werttypen finden Sie unter Andere Überladungen von EnsureInitialized
.
Diese Methode kann gleichzeitig von mehreren Threads verwendet werden, um zu initialisieren target
.
Für den Fall, dass mehrere Threads gleichzeitig auf diese Methode zugreifen, können mehrere Instanzen von T
erstellt werden, aber nur eine wird in target
gespeichert und zurückgegeben. In einem solchen Vorkommen entsorgt diese Methode nicht die Objekte, die nicht gespeichert wurden. Wenn solche Objekte verworfen werden müssen, verwenden Sie eine Überladung, die ein valueFactory
übernimmt und das Objekt entfernt, wenn es nicht auf dasselbe gespeicherte Objekt verweist.
Weitere Informationen
Gilt für:
EnsureInitialized<T>(T, Func<T>)
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
Initialisiert einen Zielverweistyp mit einer angegebenen Funktion, wenn er noch nicht initialisiert wurde.
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
Typparameter
- T
Der Typ des zu initialisierenden Verweises.
Parameter
- target
- T
Der Verweis, der initialisiert werden soll, wenn er noch nicht initialisiert wurde.
- valueFactory
- Func<T>
Die Funktion, die aufgerufen wird, um den Verweis zu initialisieren.
Gibt zurück
Das initialisierte Objekt.
Ausnahmen
Der Typ T
hat keinen parameterlosen Konstruktor.
valueFactory
gibt null (Nothing in Visual Basic) zurück.
Hinweise
Diese Methode kann nur für Verweistypen verwendet werden und valueFactory
gibt möglicherweise keinen NULL-Verweis zurück (Nothing in Visual Basic). Informationen zum Sicherstellen der Initialisierung von Werttypen oder zum Zulassen von NULL-Verweistypen finden Sie unter Andere Überladungen von EnsureInitialized.
Diese Methode kann gleichzeitig von mehreren Threads verwendet werden, um zu initialisieren target
.
Für den Fall, dass mehrere Threads gleichzeitig auf diese Methode zugreifen, können mehrere Instanzen von T
erstellt werden, aber nur eine wird in target
gespeichert. In einem solchen Vorkommen entsorgt diese Methode nicht die Objekte, die nicht gespeichert wurden. Wenn solche Objekte verworfen werden müssen, ist es Sache des Aufrufers, zu bestimmen, ob ein Objekt nicht verwendet wurde, und das Objekt dann entsprechend zu entsorgen.
Weitere Informationen
Gilt für:
EnsureInitialized<T>(T, Boolean, Object)
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
Initialisiert einen Zielverweis- oder Werttyp mit seinem parameterlosen Konstruktor, wenn er noch nicht initialisiert wurde.
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
Typparameter
- T
Der Typ des zu initialisierenden Verweises.
Parameter
- target
- T
Ein Verweis oder Wert vom Typ T
, der initialisiert werden soll, wenn er noch nicht initialisiert wurde.
- initialized
- Boolean
Ein Verweis auf einen booleschen Wert, der bestimmt, ob das Ziel bereits initialisiert wurde.
- syncLock
- Object
Ein Verweis auf ein Objekt, das für die Initialisierung von target
als sich gegenseitig ausschließende Sperre verwendet wird. Wenn syncLock
null
ist, wird ein neues Objekt instanziiert.
Gibt zurück
Das initialisierte Objekt.
Ausnahmen
Berechtigungen, auf den Konstruktor des Typs T
zuzugreifen, haben gefehlt.
Der Typ T
hat keinen parameterlosen Konstruktor.
Hinweise
Wenn initialized
als true angegeben wird, erfolgt keine weitere Initialisierung.
Weitere Informationen
Gilt für:
EnsureInitialized<T>(T, Object, Func<T>)
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
Initialisiert einen Zielverweistyp mit einer angegebenen Funktion, wenn er noch nicht initialisiert wurde.
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
Typparameter
- T
Der Typ des zu initialisierenden Verweises.
Parameter
- target
- T
Ein Verweis, der initialisiert werden soll, wenn er noch nicht initialisiert wurde. Bei null
wird er als nicht initialisiert betrachtet, andernfalls gilt er als initialisiert.
- syncLock
- Object
Ein Verweis auf ein Objekt, das für die Initialisierung von target
als sich gegenseitig ausschließende Sperre verwendet wird. Wenn syncLock
null
ist, wird ein neues Objekt instanziiert.
- valueFactory
- Func<T>
Die Methode, die zum Initialisieren von target
aufgerufen wird.
Gibt zurück
Das initialisierte Objekt.
Gilt für:
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
- Quelle:
- LazyInitializer.cs
Initialisiert einen Zielverweis- oder Werttyp mit einer angegebenen Funktion, wenn er noch nicht initialisiert wurde.
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
Typparameter
- T
Der Typ des zu initialisierenden Verweises.
Parameter
- target
- T
Ein Verweis oder Wert vom Typ T
, der initialisiert werden soll, wenn er noch nicht initialisiert wurde.
- initialized
- Boolean
Ein Verweis auf einen booleschen Wert, der bestimmt, ob das Ziel bereits initialisiert wurde.
- syncLock
- Object
Ein Verweis auf ein Objekt, das für die Initialisierung von target
als sich gegenseitig ausschließende Sperre verwendet wird. Wenn syncLock
null
ist, wird ein neues Objekt instanziiert.
- valueFactory
- Func<T>
Die Funktion, die aufgerufen wird, um den Verweis oder den Wert zu initialisieren.
Gibt zurück
Das initialisierte Objekt.
Ausnahmen
Berechtigungen, auf den Konstruktor des Typs T
zuzugreifen, haben gefehlt.
Der Typ T
hat keinen parameterlosen Konstruktor.
Hinweise
Wenn initialized
als true angegeben wird, erfolgt keine weitere Initialisierung.