다음을 통해 공유


CachedDataHostItemEnumerator 클래스

CachedDataHostItemCollection을 반복합니다.

상속 계층 구조

System.Object
  Microsoft.VisualStudio.Tools.Applications.CachedDataHostItemEnumerator

네임스페이스:  Microsoft.VisualStudio.Tools.Applications
어셈블리:  Microsoft.VisualStudio.Tools.Applications.ServerDocument(Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

구문

‘선언
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataHostItemEnumerator _
    Implements IEnumerator(Of CachedDataHostItem), IDisposable,  _
    IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataHostItemEnumerator : IEnumerator<CachedDataHostItem>, 
    IDisposable, IEnumerator

CachedDataHostItemEnumerator 형식에서는 다음과 같은 멤버를 노출합니다.

속성

  이름 설명
Public 속성 Current 열거자의 현재 위치에서 CachedDataHostItem을 가져옵니다.

위쪽

메서드

  이름 설명
Public 메서드 Equals 지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드 MoveNext 열거자를 CachedDataHostItemCollection의 다음 CachedDataHostItem으로 이동합니다.
Public 메서드 Reset 열거자를 컬렉션의 첫 번째 CachedDataHostItem의 앞에 있는 처음 위치로 설정합니다.
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

명시적 인터페이스 구현

  이름 설명
명시적 인터페이스 구현Private 속성 IEnumerator.Current 이 멤버에 대한 설명은 Current를 참조하십시오.
명시적 인터페이스 구현Private 메서드 IDisposable.Dispose CachedDataHostItemEnumerator 에서 사용하는 모든 리소스를 해제합니다.

위쪽

설명

Visual Basic과 C#에는 열거자의 복잡성을 숨기는 문(C#에서는 foreach, Visual Basic에서는 For Each)이 들어 있습니다. 열거자를 직접 조작하는 대신 사용 중인 언어에 적절한 문을 사용할 수 있습니다.

열거자는 컬렉션에 있는 데이터를 읽는 데 사용할 수 있지만 내부 컬렉션을 수정하는 데에는 사용할 수 없습니다.

처음에는 열거자가 컬렉션의 첫 번째 요소 앞에 위치합니다. Reset 메서드는 또한 열거자를 이 위치로 다시 가져옵니다. 이 위치에서 Current 속성을 설정하면 예외가 throw됩니다. 따라서 Current의 값을 읽기 전에 MoveNext 메서드를 호출하여 열거자를 해당 컬렉션의 첫 번째 요소로 보내야 합니다.

CurrentMoveNext 또는 Reset가 호출될 때까지 같은 개체를 반환합니다. MoveNextCurrent를 다음 요소로 설정합니다.

MoveNext가 컬렉션의 끝을 지나면 열거자는 컬렉션의 마지막 요소 뒤에 배치되고 MoveNext는 false를 반환합니다. 열거자가 이 위치에 있을 때 MoveNext를 호출하면 계속 false가 반환됩니다. MoveNext에 대한 마지막 호출에서 false가 반환된 경우 Current를 호출하면 예외가 throw됩니다. Current를 해당 컬렉션의 첫 번째 요소로 다시 설정하려면 Reset을 호출한 다음 MoveNext를 호출하면 됩니다.

열거자는 컬렉션이 변경되지 않은 상태로 유지되는 한 유효합니다. 요소를 추가, 수정 또는 삭제하는 등 컬렉션을 변경하면 열거자는 복구할 수 없는 무효 상태가 되므로 다음에 MoveNextReset을 호출하면 InvalidOperationException이 throw됩니다. MoveNextCurrent 사이에서 컬렉션이 수정되면 Current는 열거자가 이미 유효하지 않더라도 자신이 설정한 요소를 반환합니다.

열거자는 컬렉션에 단독으로 액세스할 수 있는 권한이 없으므로 컬렉션을 열거하는 프로시저는 기본적으로 스레드로부터 안전하지 않습니다. 컬렉션이 동기화되어 있을 때 다른 스레드에서 해당 컬렉션을 수정할 수 있으므로 이렇게 되면 열거자에서 예외가 throw됩니다. 열거하는 동안 스레드로부터 안전하게 보호하려면 전체 열거를 수행하는 동안 컬렉션을 잠그거나 다른 스레드에서 변경된 내용으로 인해 발생한 예외를 catch하면 됩니다.

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Tools.Applications 네임스페이스