LazyInitializer.EnsureInitialized LazyInitializer.EnsureInitialized LazyInitializer.EnsureInitialized LazyInitializer.EnsureInitialized Method

定義

まだ初期化されていない場合は、ターゲットの型を初期化します。Initializes a target type if it hasn't already been initialized.

オーバーロード

EnsureInitialized<T>(T) EnsureInitialized<T>(T) EnsureInitialized<T>(T) EnsureInitialized<T>(T)

まだ初期化されていない場合、型のパラメーターなしのコンストラクターを使用してターゲット参照型を初期化します。Initializes a target reference type with the type's parameterless constructor if it hasn't already been initialized.

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

まだ初期化されていない場合、指定された関数を使用してターゲット参照型を初期化します。Initializes a target reference type by using a specified function if it hasn't already been initialized.

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

まだ初期化されていない場合、そのパラメーターなしのコンストラクターを使用してターゲット参照または値の型を初期化します。Initializes a target reference or value type with its parameterless constructor if it hasn't already been initialized.

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

まだ初期化されていない場合、指定された関数を使用してターゲット参照型を初期化します。Initializes a target reference type with a specified function if it has not already been initialized.

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

まだ初期化されていない場合、指定された関数を使用することでターゲット参照または値の型を初期化します。Initializes a target reference or value type by using a specified function if it hasn't already been initialized.

EnsureInitialized<T>(T) EnsureInitialized<T>(T) EnsureInitialized<T>(T) EnsureInitialized<T>(T)

まだ初期化されていない場合、型のパラメーターなしのコンストラクターを使用してターゲット参照型を初期化します。Initializes a target reference type with the type's parameterless constructor if it hasn't already been initialized.

public:
generic <typename T>
 where T : class static T EnsureInitialized(T % target);
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

初期化される参照の型。The type of the reference to be initialized.

パラメーター

target
T T T T

まだ初期化されていない場合、初期化する参照。A reference to initialize if it has not already been initialized.

戻り値

T T T T

初期化されたオブジェクト。The initialized object.

例外

T のコンストラクターにアクセスするためのアクセス許可がありませんでした。Permissions to access the constructor of type T were missing.

T には、パラメーターなしのコンストラクターがありません。Type T does not have a parameterless constructor.

注釈

このメソッドは、参照型でのみ使用できます。This method may only be used on reference types. 値型の初期化を確認するには、 EnsureInitialized「のその他のオーバーロード」を参照してください。To ensure initialization of value types, see other overloads of EnsureInitialized.

このメソッドは、初期化targetのために複数のスレッドによって同時に使用される場合があります。This method may be used concurrently by multiple threads to initialize target.

複数のスレッドがこのメソッドに同時にアクセスする場合は、 Tの複数のインスタンスが作成される可能性がありtargetますが、に格納されるのは1つだけです。In the event that multiple threads access this method concurrently, multiple instances of T may be created, but only one will be stored into target. このような場合、このメソッドは、格納されていないオブジェクトを破棄しません。In such an occurrence, this method will not dispose of the objects that were not stored. このようなオブジェクトを破棄する必要がある場合は、オブジェクトが使用されていないかどうかを判断し、適切にオブジェクトを破棄することが、呼び出し元によって行われます。If such objects must be disposed, it is up to the caller to determine if an object was not used and to then dispose of the object appropriately.

こちらもご覧ください

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

まだ初期化されていない場合、指定された関数を使用してターゲット参照型を初期化します。Initializes a target reference type by using a specified function if it hasn't already been initialized.

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;
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

初期化される参照の型。The type of the reference to be initialized.

パラメーター

target
T T T T

まだ初期化されていない場合、初期化する参照。The reference to initialize if it hasn't already been initialized.

valueFactory
Func<T>

参照を初期化するために呼び出される関数。The function that is called to initialize the reference.

戻り値

T T T T

初期化されたオブジェクト。The initialized object.

例外

T には、パラメーターなしのコンストラクターがありません。Type T does not have a parameterless constructor.

valueFactory では null (Visual Basic の場合は Nothing) を返しました。valueFactory returned null (Nothing in Visual Basic).

注釈

このメソッドは参照型valueFactoryでのみ使用でき、null 参照 (Visual Basic では Nothing) を返すことはできません。This method may only be used on reference types, and valueFactory may not return a null reference (Nothing in Visual Basic). 値型の初期化を確実に行う、または null 参照型を使用できるようにするには、「EnsureInitialized のその他のオーバーロード」を参照してください。To ensure initialization of value types or to allow null reference types, see other overloads of EnsureInitialized.

このメソッドは、初期化targetのために複数のスレッドによって同時に使用される場合があります。This method may be used concurrently by multiple threads to initialize target.

複数のスレッドがこのメソッドに同時にアクセスする場合は、 Tの複数のインスタンスが作成される可能性がありtargetますが、に格納されるのは1つだけです。In the event that multiple threads access this method concurrently, multiple instances of T may be created, but only one will be stored into target. このような場合、このメソッドは、格納されていないオブジェクトを破棄しません。In such an occurrence, this method will not dispose of the objects that were not stored. このようなオブジェクトを破棄する必要がある場合は、オブジェクトが使用されていないかどうかを判断し、適切にオブジェクトを破棄することが、呼び出し元によって行われます。If such objects must be disposed, it is up to the caller to determine if an object was not used and to then dispose of the object appropriately.

こちらもご覧ください

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

まだ初期化されていない場合、そのパラメーターなしのコンストラクターを使用してターゲット参照または値の型を初期化します。Initializes a target reference or value type with its parameterless constructor if it hasn't already been initialized.

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);
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

初期化される参照の型。The type of the reference to be initialized.

パラメーター

target
T T T T

まだ初期化されていない場合は、初期化する型 T の参照または値。A reference or value of type T to initialize if it hasn't already been initialized.

initialized
Boolean Boolean Boolean Boolean

ターゲットが既に初期化されているかどうかを判断するブール値への参照。A reference to a Boolean value that determines whether the target has already been initialized.

syncLock
Object Object Object Object

target を初期化するために相互排他的ロックとして使用されるオブジェクトへの参照。A reference to an object used as the mutually exclusive lock for initializing target. syncLocknull の場合、新しいオブジェクトがインスタンス化されます。If syncLock is null, a new object will be instantiated.

戻り値

T T T T

初期化されたオブジェクト。The initialized object.

例外

T のコンストラクターにアクセスするためのアクセス許可がありませんでした。Permissions to access the constructor of type T were missing.

T には、パラメーターなしのコンストラクターがありません。Type T does not have a parameterless constructor.

注釈

initialized true として指定した場合、それ以上の初期化は行われません。If initialized is specified as true, then no further initialization occurs.

こちらもご覧ください

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

まだ初期化されていない場合、指定された関数を使用してターゲット参照型を初期化します。Initializes a target reference type with a specified function if it has not already been initialized.

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;
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

初期化される参照の型。The type of the reference to be initialized.

パラメーター

target
T T T T

まだ初期化されていない場合、初期化する参照。A reference to initialize if it has not already been initialized.

syncLock
Object Object Object Object

target を初期化するために相互排他的ロックとして使用されるオブジェクトへの参照。A reference to an object used as the mutually exclusive lock for initializing target. syncLocknull の場合、新しいオブジェクトがインスタンス化されます。If syncLock is null, a new object will be instantiated.

valueFactory
Func<T>

target を初期化するために呼び出すメソッド。The method to invoke to initialize target.

戻り値

T T T T

初期化されたオブジェクト。The initialized object.

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

まだ初期化されていない場合、指定された関数を使用することでターゲット参照または値の型を初期化します。Initializes a target reference or value type by using a specified function if it hasn't already been initialized.

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);
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

初期化される参照の型。The type of the reference to be initialized.

パラメーター

target
T T T T

まだ初期化されていない場合は、初期化する型 T の参照または値。A reference or value of type T to initialize if it hasn't already been initialized.

initialized
Boolean Boolean Boolean Boolean

ターゲットが既に初期化されているかどうかを判断するブール値への参照。A reference to a Boolean value that determines whether the target has already been initialized.

syncLock
Object Object Object Object

target を初期化するために相互排他的ロックとして使用されるオブジェクトへの参照。A reference to an object used as the mutually exclusive lock for initializing target. syncLocknull の場合、新しいオブジェクトがインスタンス化されます。If syncLock is null, a new object will be instantiated.

valueFactory
Func<T>

参照または値を初期化するために呼び出される関数。The function that is called to initialize the reference or value.

戻り値

T T T T

初期化されたオブジェクト。The initialized object.

例外

T のコンストラクターにアクセスするためのアクセス許可がありませんでした。Permissions to access the constructor of type T were missing.

T には、パラメーターなしのコンストラクターがありません。Type T does not have a parameterless constructor.

注釈

initialized true として指定した場合、それ以上の初期化は行われません。If initialized is specified as true, then no further initialization occurs.

こちらもご覧ください

適用対象