LazyInitializer.EnsureInitialized Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en måltyp om den inte redan har initierats.
Överlagringar
| Name | Description |
|---|---|
| EnsureInitialized<T>(T) |
Initierar en målreferenstyp med typens parameterlösa konstruktor om den inte redan har initierats. |
| EnsureInitialized<T>(T, Func<T>) |
Initierar en målreferenstyp med hjälp av en angiven funktion om den inte redan har initierats. |
| EnsureInitialized<T>(T, Boolean, Object) |
Initierar en målreferens eller värdetyp med sin parameterlösa konstruktor om den inte redan har initierats. |
| EnsureInitialized<T>(T, Object, Func<T>) |
Initierar en målreferenstyp med en angiven funktion om den inte redan har initierats. |
| EnsureInitialized<T>(T, Boolean, Object, Func<T>) |
Initierar en målreferens eller värdetyp med hjälp av en angiven funktion om den inte redan har initierats. |
EnsureInitialized<T>(T)
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
Initierar en målreferenstyp med typens parameterlösa konstruktor om den inte redan har initierats.
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
Typparametrar
- T
Typen av referens som ska initieras.
Parametrar
- target
- T
En referens för att initiera om den inte redan har initierats. Om den är nullanses den inte initierad. Annars anses den initierad.
Returer
Det initierade objektet.
Undantag
Behörigheter för att komma åt konstruktorn av typen T saknades.
Typen T har ingen parameterlös konstruktor.
Kommentarer
Den här metoden kan endast användas för referenstyper. Information om hur du initierar värdetyper finns i andra överlagringar av EnsureInitialized.
Den här metoden kan användas samtidigt av flera trådar för att initiera target.
Om flera trådar kommer åt den här metoden samtidigt kan flera instanser av T skapas, men endast en lagras i target och returneras. I en sådan händelse kommer den här metoden inte att ta bort de objekt som inte har lagrats. Om sådana objekt måste tas bort använder du en överlagring som tar ett valueFactory och tar bort objektet om det inte refererar till samma lagrade objekt.
Se även
Gäller för
EnsureInitialized<T>(T, Func<T>)
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
Initierar en målreferenstyp med hjälp av en angiven funktion om den inte redan har initierats.
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
Typparametrar
- T
Typen av referens som ska initieras.
Parametrar
- target
- T
Referensen för att initiera om den inte redan har initierats.
- valueFactory
- Func<T>
Funktionen som anropas för att initiera referensen.
Returer
Det initierade objektet.
Undantag
Typen T har ingen parameterlös konstruktor.
valueFactory returnerade null (Inget i Visual Basic).
Kommentarer
Den här metoden kan endast användas för referenstyper och valueFactory kanske inte returnerar en null-referens (Ingenting i Visual Basic). Se andra överlagringar av EnsureInitialized för att säkerställa initiering av värdetyper eller för att tillåta null-referenstyper.
Den här metoden kan användas samtidigt av flera trådar för att initiera target.
Om flera trådar får åtkomst till den här metoden samtidigt kan flera instanser av T skapas, men endast en lagras i target. I en sådan händelse kommer den här metoden inte att ta bort de objekt som inte har lagrats. Om sådana objekt måste tas bort är det upp till anroparen att avgöra om ett objekt inte har använts och sedan ta bort objektet på rätt sätt.
Se även
Gäller för
EnsureInitialized<T>(T, Boolean, Object)
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
Initierar en målreferens eller värdetyp med sin parameterlösa konstruktor om den inte redan har initierats.
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
Typparametrar
- T
Typen av referens som ska initieras.
Parametrar
- target
- T
En referens eller ett värde av typen T som ska initieras om den inte redan har initierats.
- initialized
- Boolean
En referens till ett booleskt värde som avgör om målet redan har initierats.
- syncLock
- Object
En referens till ett objekt som används som ömsesidigt uteslutande lås för att targetinitiera . Om syncLock är nullinstansieras ett nytt objekt.
Returer
Det initierade objektet.
Undantag
Behörigheter för att komma åt konstruktorn av typen T saknades.
Typen T har ingen parameterlös konstruktor.
Kommentarer
Om initialized anges som sant sker ingen ytterligare initiering.
Se även
Gäller för
EnsureInitialized<T>(T, Object, Func<T>)
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
Initierar en målreferenstyp med en angiven funktion om den inte redan har initierats.
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
Typparametrar
- T
Typen av referens som ska initieras.
Parametrar
- target
- T
En referens för att initiera om den inte redan har initierats. Om den är nullanses den inte initierad. Annars anses den initierad.
- syncLock
- Object
En referens till ett objekt som används som ömsesidigt uteslutande lås för att targetinitiera . Om syncLock är nullinstansieras ett nytt objekt.
- valueFactory
- Func<T>
Metoden som ska anropas för att initiera target.
Returer
Det initierade objektet.
Gäller för
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
- Källa:
- LazyInitializer.cs
Initierar en målreferens eller värdetyp med hjälp av en angiven funktion om den inte redan har initierats.
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
Typparametrar
- T
Typen av referens som ska initieras.
Parametrar
- target
- T
En referens eller ett värde av typen T som ska initieras om den inte redan har initierats.
- initialized
- Boolean
En referens till ett booleskt värde som avgör om målet redan har initierats.
- syncLock
- Object
En referens till ett objekt som används som ömsesidigt uteslutande lås för att targetinitiera . Om syncLock är nullinstansieras ett nytt objekt.
- valueFactory
- Func<T>
Funktionen som anropas för att initiera referensen eller värdet.
Returer
Det initierade objektet.
Undantag
Behörigheter för att komma åt konstruktorn av typen T saknades.
Typen T har ingen parameterlös konstruktor.
Kommentarer
Om initialized anges som sant sker ingen ytterligare initiering.