LazyInitializer.EnsureInitialized 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
아직 초기화되지 않은 대상 유형을 초기화합니다.
오버로드
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)
아직 초기화되지 않은 경우 형식의 매개 변수가 없는 생성자를 사용하여 대상 참조 형식을 초기화합니다.
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
만들 수 있지만 하나만 저장 target
되고 반환됩니다. 이 경우 이 메서드는 저장되지 않은 개체를 삭제하지 않습니다. 이러한 개체를 삭제해야 하는 경우 동일한 저장된 개체를 참조하지 않는 경우 개체를 valueFactory
사용하고 삭제하는 오버로드를 사용합니다.
추가 정보
적용 대상
EnsureInitialized<T>(T, Func<T>)
아직 초기화되지 않은 경우 지정된 함수를 사용하여 대상 참조 형식을 초기화합니다.
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 없음)를 반환하지 않을 수 있습니다. 값 형식의 초기화를 보장하거나 null 참조 형식을 허용하려면 EnsureInitialized의 다른 오버로드를 참조하세요.
이 메서드는 여러 스레드에서 동시에 사용하여 초기화 target
할 수 있습니다.
여러 스레드가 이 메서드에 동시에 액세스하는 경우 여러 인스턴스를 T
만들 수 있지만 하나만 저장 target
됩니다. 이 경우 이 메서드는 저장되지 않은 개체를 삭제하지 않습니다. 이러한 개체를 삭제해야 하는 경우 호출자는 개체가 사용되지 않는지 확인한 다음 개체를 적절하게 삭제해야 합니다.
추가 정보
적용 대상
EnsureInitialized<T>(T, Boolean, Object)
아직 초기화되지 않은 경우 해당 매개 변수가 없는 생성자를 사용하여 대상 참조 또는 값 형식을 초기화합니다.
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
을 초기화할 때 상호 배타적인 잠금으로 사용할 개체에 대한 참조입니다. syncLock
이 null
이면 새 개체를 인스턴스화할 수 있습니다.
반환
- T
초기화된 개체입니다.
예외
형식 T
의 생성자에 액세스할 수 있는 권한이 없습니다.
T
형식에는 매개 변수가 없는 생성자가 없습니다.
설명
true로 지정하면 initialized
추가 초기화가 발생하지 않습니다.
추가 정보
적용 대상
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;
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
을 초기화할 때 상호 배타적인 잠금으로 사용할 개체에 대한 참조입니다. syncLock
이 null
이면 새 개체를 인스턴스화할 수 있습니다.
- valueFactory
- Func<T>
target
을 초기화하기 위해 호출하는 메서드입니다.
반환
- T
초기화된 개체입니다.
적용 대상
EnsureInitialized<T>(T, Boolean, Object, Func<T>)
아직 초기화되지 않은 경우 지정된 함수를 사용하여 대상 참조 또는 값 형식을 초기화합니다.
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
을 초기화할 때 상호 배타적인 잠금으로 사용할 개체에 대한 참조입니다. syncLock
이 null
이면 새 개체를 인스턴스화할 수 있습니다.
- valueFactory
- Func<T>
참조 또는 값을 초기화하기 위해 호출되는 함수입니다.
반환
- T
초기화된 개체입니다.
예외
형식 T
의 생성자에 액세스할 수 있는 권한이 없습니다.
T
형식에는 매개 변수가 없는 생성자가 없습니다.
설명
true로 지정하면 initialized
추가 초기화가 발생하지 않습니다.