LazyInitializer.EnsureInitialized メソッド

定義

まだ初期化されていない場合は、ターゲット型を初期化します。

オーバーロード

名前 説明
EnsureInitialized<T>(T)

まだ初期化されていない場合は、型のパラメーターなしのコンストラクターを使用してターゲット参照型を初期化します。

EnsureInitialized<T>(T, Func<T>)

指定した関数がまだ初期化されていない場合は、指定した関数を使用してターゲット参照型を初期化します。

EnsureInitialized<T>(T, Boolean, Object)

まだ初期化されていない場合は、パラメーターなしのコンストラクターを使用してターゲット参照または値型を初期化します。

EnsureInitialized<T>(T, Object, Func<T>)

まだ初期化されていない場合は、指定した関数を使用してターゲット参照型を初期化します。

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

指定した関数がまだ初期化されていない場合は、指定した関数を使用してターゲット参照または値型を初期化します。

EnsureInitialized<T>(T)

ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs

まだ初期化されていない場合は、型のパラメーターなしのコンストラクターを使用してターゲット参照型を初期化します。

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

型パラメーター

T

初期化する参照の型。

パラメーター

target
T

初期化されていない場合に初期化する参照。 nullされている場合、初期化されていないと見なされます。それ以外の場合は初期化済みと見なされます。

返品

T

初期化されたオブジェクト。

例外

T型のコンストラクターにアクセスするためのアクセス許可がありませんでした。

T にはパラメーターなしのコンストラクターがありません。

注釈

このメソッドは、参照型でのみ使用できます。 値型の初期化を保証するには、 EnsureInitializedの他のオーバーロードを参照してください。

このメソッドは、複数のスレッドで同時に使用して、 targetを初期化できます。

複数のスレッドがこのメソッドに同時にアクセスする場合は、 T の複数のインスタンスを作成できますが、1 つだけが target に格納されて返されます。 このような場合、このメソッドは、格納されなかったオブジェクトを破棄しません。 このようなオブジェクトを破棄する必要がある場合は、同じ格納されているオブジェクトを参照していない場合は、 valueFactory を受け取り、オブジェクトを破棄するオーバーロードを使用します。

こちらもご覧ください

適用対象

EnsureInitialized<T>(T, Func<T>)

ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs

指定した関数がまだ初期化されていない場合は、指定した関数を使用してターゲット参照型を初期化します。

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

型パラメーター

T

初期化する参照の型。

パラメーター

target
T

初期化されていない場合に初期化する参照。

valueFactory
Func<T>

参照を初期化するために呼び出される関数。

返品

T

初期化されたオブジェクト。

例外

T にはパラメーターなしのコンストラクターがありません。

valueFactory null が返されます (Visual Basicでは Nothing)。

注釈

このメソッドは参照型でのみ使用でき、valueFactory は null 参照を返さない場合があります (Visual Basicでは Nothing)。 値型の初期化を確実に行うか、null 参照型を許可するには、EnsureInitialized の他のオーバーロードを参照してください。

このメソッドは、複数のスレッドで同時に使用して、 targetを初期化できます。

複数のスレッドがこのメソッドに同時にアクセスする場合、 T の複数のインスタンスを作成できますが、 targetに格納されるのは 1 つだけです。 このような場合、このメソッドは、格納されなかったオブジェクトを破棄しません。 このようなオブジェクトを破棄する必要がある場合は、呼び出し元がオブジェクトが使用されていないかどうかを判断し、そのオブジェクトを適切に破棄する必要があります。

こちらもご覧ください

適用対象

EnsureInitialized<T>(T, Boolean, Object)

ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs

まだ初期化されていない場合は、パラメーターなしのコンストラクターを使用してターゲット参照または値型を初期化します。

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

型パラメーター

T

初期化する参照の型。

パラメーター

target
T

まだ初期化されていない場合に初期化する T 型の参照または値。

initialized
Boolean

ターゲットが既に初期化されているかどうかを決定するブール値への参照。

syncLock
Object

targetを初期化するための相互排他的ロックとして使用されるオブジェクトへの参照。 syncLocknullされると、新しいオブジェクトがインスタンス化されます。

返品

T

初期化されたオブジェクト。

例外

T型のコンストラクターにアクセスするためのアクセス許可がありませんでした。

T にはパラメーターなしのコンストラクターがありません。

注釈

initializedが true として指定されている場合、それ以降の初期化は行われません。

こちらもご覧ください

適用対象

EnsureInitialized<T>(T, Object, Func<T>)

ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs

まだ初期化されていない場合は、指定した関数を使用してターゲット参照型を初期化します。

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

型パラメーター

T

初期化する参照の型。

パラメーター

target
T

初期化されていない場合に初期化する参照。 nullされている場合、初期化されていないと見なされます。それ以外の場合は初期化済みと見なされます。

syncLock
Object

targetを初期化するための相互排他的ロックとして使用されるオブジェクトへの参照。 syncLocknullされると、新しいオブジェクトがインスタンス化されます。

valueFactory
Func<T>

targetを初期化するために呼び出すメソッド。

返品

T

初期化されたオブジェクト。

適用対象

EnsureInitialized<T>(T, Boolean, Object, Func<T>)

ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs
ソース:
LazyInitializer.cs

指定した関数がまだ初期化されていない場合は、指定した関数を使用してターゲット参照または値型を初期化します。

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

型パラメーター

T

初期化する参照の型。

パラメーター

target
T

まだ初期化されていない場合に初期化する T 型の参照または値。

initialized
Boolean

ターゲットが既に初期化されているかどうかを決定するブール値への参照。

syncLock
Object

targetを初期化するための相互排他的ロックとして使用されるオブジェクトへの参照。 syncLocknullされると、新しいオブジェクトがインスタンス化されます。

valueFactory
Func<T>

参照または値を初期化するために呼び出される関数。

返品

T

初期化されたオブジェクト。

例外

T型のコンストラクターにアクセスするためのアクセス許可がありませんでした。

T にはパラメーターなしのコンストラクターがありません。

注釈

initializedが true として指定されている場合、それ以降の初期化は行われません。

こちらもご覧ください

適用対象