CachedDataItemEnumerator 클래스
CachedDataItemCollection을 반복합니다.
상속 계층 구조
System.Object
Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator
네임스페이스: Microsoft.VisualStudio.Tools.Applications
어셈블리: Microsoft.VisualStudio.Tools.Applications.ServerDocument(Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
구문
‘선언
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataItemEnumerator _
Implements IEnumerator(Of CachedDataItem), IDisposable, _
IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataItemEnumerator : IEnumerator<CachedDataItem>,
IDisposable, IEnumerator
CachedDataItemEnumerator 형식에서는 다음과 같은 멤버를 노출합니다.
속성
이름 | 설명 | |
---|---|---|
Current | 열거자의 현재 위치에서 CachedDataItem을 가져옵니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
Equals | 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨) | |
GetHashCode | 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨) | |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) | |
MoveNext | 열거자를 CachedDataItemCollection의 다음 CachedDataItem으로 이동합니다. | |
Reset | 열거자를 컬렉션의 첫 번째 CachedDataItem의 앞에 있는 처음 위치로 설정합니다. | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
명시적 인터페이스 구현
이름 | 설명 | |
---|---|---|
IEnumerator.Current | 이 멤버에 대한 설명은 Current를 참조하십시오. | |
IDisposable.Dispose | CachedDataItemEnumerator 에서 사용하는 모든 리소스를 해제합니다. |
위쪽
설명
Visual Basic과 C#에는 열거자의 복잡성을 숨기는 문(C#에서는 foreach, Visual Basic에서는 For Each)이 들어 있습니다.열거자를 직접 조작하는 대신 사용 중인 언어에 적절한 문을 사용할 수 있습니다.
열거자는 컬렉션에 있는 데이터를 읽는 데 사용할 수 있지만 내부 컬렉션을 수정하는 데에는 사용할 수 없습니다.
초기에 열거자는 컬렉션의 첫 번째 요소 앞에 위치합니다.Reset 메서드는 또한 열거자를 이 위치로 다시 가져옵니다.이 위치에서 Current 속성을 설정하면 예외가 throw됩니다.따라서 Current의 값을 읽기 전에 MoveNext 메서드를 호출하여 열거자를 해당 컬렉션의 첫 번째 요소로 보내야 합니다.
Current는 MoveNext 또는 Reset가 호출될 때까지 같은 개체를 반환합니다.MoveNext는 Current를 다음 요소로 설정합니다.
MoveNext가 컬렉션의 끝을 지나게 되면 열거자는 컬렉션의 마지막 요소 뒤에 배치되고, MoveNext는 false를 반환합니다.열거자가 이 위치에 있는 경우 MoveNext에 대한 이후의 호출에서도 false를 반환합니다.MoveNext에 대한 마지막 호출에서 false가 반환된 경우 Current를 호출하면 예외가 throw됩니다.Current를 해당 컬렉션의 첫 번째 요소로 다시 설정하려면 Reset을 호출한 다음 MoveNext를 호출하면 됩니다.
열거자는 컬렉션이 변경되지 않은 상태로 유지되는 한 유효합니다.요소를 추가, 수정 또는 삭제하는 등 컬렉션을 변경하면 열거자는 복구할 수 없는 무효 상태가 되므로 다음에 MoveNext나 Reset을 호출하면 InvalidOperationException이 throw됩니다.MoveNext와 Current 사이에서 컬렉션이 수정되면 Current는 열거자가 이미 유효하지 않더라도 자신이 설정한 요소를 반환합니다.
열거자는 컬렉션에 독점적으로 액세스할 수 있는 권한이 없으므로 컬렉션을 열거하는 프로시저는 기본적으로 스레드로부터 안전하지 않습니다.컬렉션이 동기화되어 있을 때 다른 스레드에서 해당 컬렉션을 수정할 수 있으므로 이렇게 되면 열거자에서 예외가 throw됩니다.열거하는 동안 스레드로부터 안전을 보장하려면 전체 열거를 수행하는 동안 컬렉션을 잠그거나 다른 스레드에서 변경된 내용으로 인해 발생한 예외를 catch하면 됩니다.
스레드로부터의 안전성
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.