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 default 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 default 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>)
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 default 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 (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

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

戻り値

T T T T

T の初期化された参照。The initialized reference of type T.

例外

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

T には既定のコンストラクターがありません。Type T does not have a default 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作成月はありませんが、1 つだけに格納されるtargetします。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 :  * 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 reference type of the reference to be initialized.

パラメーター

target
T T T T

まだ初期化されていない場合は、初期化する型 T の参照。The reference of type T 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

T の初期化された値。The initialized value of type T.

例外

T には既定のコンストラクターがありません。Type T does not have a default constructor.

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

注釈

このメソッドは、参照型に対してのみ使用可能性がありますとvalueFactorynull 参照 (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作成月はありませんが、1 つだけに格納されるtargetします。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 default 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
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

T の初期化された値。The initialized value of type T.

例外

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

T には既定のコンストラクターがありません。Type T does not have a default 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>)

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 :  *  * 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 T T T
valueFactory
Func<T>

戻り値

T T T T

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 :  *  *  * 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

T の初期化された値。The initialized value of type T.

例外

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

T には既定のコンストラクターがありません。Type T does not have a default constructor.

注釈

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

こちらもご覧ください

適用対象