다음을 통해 공유


DtsEnumerator.Current 속성

정의

컬렉션의 현재 요소를 가져옵니다.

public:
 property System::Object ^ Current { System::Object ^ get(); };
public object Current { get; }
member this.Current : obj
Public ReadOnly Property Current As Object

속성 값

컬렉션에 있는 현재 요소입니다.

구현

예제

다음 코드 예제에서는 패키지에 작업을 추가한 다음 패키지를 실행합니다. 경고 컬렉션은 이 DtsEnumerator 클래스에서 상속되는 경고 컬렉션을 만들어 WarningEnumerator생성되며, 각 경고 설명 사용 CurrentMoveNext 컬렉션의 경고를 검토하는 메서드를 표시합니다.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask;  

namespace Microsoft.SqlServer.SSIS.Samples  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package package = new Package();  
            Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count);  

            TaskHost taskH2 = (TaskHost)package.Executables.Add("STOCK:SendMailTask");  
            taskH2.FailPackageOnFailure = false;  
            taskH2.FailParentOnFailure = false;  
            Console.WriteLine("SendMailTask: {0}", taskH2.ID);  

            // Test that warnings were successfully added to the collection.  
            package.MaximumErrorCount = 100;  
            package.FailPackageOnFailure = false;  
            package.FailParentOnFailure = false;  
            package.DelayValidation = true;  
            package.Execute();  

            Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count);  

            // Create the enumerator.  
            WarningEnumerator myEnumerator = package.Warnings.GetEnumerator();  
            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
                Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Description);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Imports Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask  

Namespace Microsoft.SqlServer.SSIS.Samples  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim package As Package =  New Package()   
            Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count)  

            Dim taskH2 As TaskHost = CType(package.Executables.Add("STOCK:SendMailTask"), TaskHost)  
            taskH2.FailPackageOnFailure = False  
            taskH2.FailParentOnFailure = False  
            Console.WriteLine("SendMailTask: {0}", taskH2.ID)  

            ' Test that warnings were successfully added to the collection.  
            package.MaximumErrorCount = 100  
            package.FailPackageOnFailure = False  
            package.FailParentOnFailure = False  
            package.DelayValidation = True  
            package.Execute()  

            Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count)  

            ' Create the enumerator.  
            Dim myEnumerator As WarningEnumerator =  package.Warnings.GetEnumerator()   
            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)  
                Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1  
            End While  
        End Sub  
    End Class  
End Namespace  

샘플 출력:

실행 전 패키지 경고 수: 0

SendMailTask: {34CAEFF9-64BF-401D-B646-C88B705DB971}

패키지를 실행한 후 패키지 경고 수: 2

컬렉션에는 다음 값이 포함됩니다.

[0] 보낸 줄의 주소가 올바르게 구성되지 않았습니다. @이 누락되었거나 유효하지 않습니다.

[1] 제목이 비어 있음

설명

열거자를 만든 후 또는 메서드 MoveNextReset 호출한 후에는 열거자를 컬렉션Current의 첫 번째 요소로 이동하도록 메서드를 호출해야 합니다. 그렇지 않으면 Current 정의되지 않습니다.

Current 마지막으로 호출 하는 경우 예외를 throw MoveNext 반환 false, 컬렉션의 끝을 나타내는입니다.

Current는 열거자의 위치를 이동하지 않으므로 동일한 개체를 반환하기 위해 Current 연속 호출하거나 Reset 호출될 때까지 MoveNext 호출됩니다.

컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 변경에 추가 하는 등 컬렉션을 수정 하거나 요소를 삭제, 열거자가 복구할 유효 하지 않으며을 다음에 호출할 MoveNext 또는 Reset throw는 InvalidOperationException합니다. MoveNextCurrent 사이에 컬렉션이 수정되면 열거자가 이미 무효로 되었어도 Current는 컬렉션이 설정된 요소를 반환합니다.

적용 대상