PackageInfoEnumerator.Current 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에서 현재 PackageInfo 요소를 반환합니다.
public:
property Microsoft::SqlServer::Dts::Runtime::PackageInfo ^ Current { Microsoft::SqlServer::Dts::Runtime::PackageInfo ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.PackageInfo Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.PackageInfo
Public ReadOnly Property Current As PackageInfo
속성 값
PackageInfo 개체입니다.
예제
다음 코드 예제에서는 Samples 폴더에서 두 개의 패키지를 로드하고 DTS 서비스에 저장합니다. 그런 다음 열거자를 만들고 MoveNext 및 Current 메서드를 사용하여 패키지를 반복하고 이름을 인쇄합니다.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace PackageInfoTest
{
class Program
{
static void Main(string[] args)
{
string pkg = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx";
string pkg2 = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
Application app = new Application();
Package p1 = app.LoadPackage(pkg, null);
Package p2 = app.LoadPackage(pkg2, null);
p1.Description = "UsingExecuteProcess package";
p2.Description = "Calculated Columns package";
app.SaveToDtsServer(p1, null, @"File System\myp1Package", "YOURSERVER");
app.SaveToDtsServer(p2, null, @"File System\myp2Package", "YOURSERVER");
PackageInfos pInfos = app.GetDtsServerPackageInfos(@"File System", "YOURSERVER");
Console.WriteLine("Number of Packages {0}", pInfos.Count.ToString());
PackageInfoEnumerator iEnum = pInfos.GetEnumerator();
while (iEnum.MoveNext())
{
String pkgName = iEnum.Current.Name;
Console.WriteLine(pkgName);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace PackageInfoTest
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"
Dim pkg2 As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
Dim app As Application = New Application()
Dim p1 As Package = app.LoadPackage(pkg,Nothing)
Dim p2 As Package = app.LoadPackage(pkg2,Nothing)
p1.Description = "UsingExecuteProcess package"
p2.Description = "Calculated Columns package"
app.SaveToDtsServer(p1, Nothing, "File System\myp1Package", "YOURSERVER")
app.SaveToDtsServer(p2, Nothing, "File System\myp2Package", "YOURSERVER")
Dim pInfos As PackageInfos = app.GetDtsServerPackageInfos("File System","YOURSERVER")
Console.WriteLine("Number of Packages {0}", pInfos.Count.ToString())
Dim iEnum As PackageInfoEnumerator = pInfos.GetEnumerator()
While iEnum.MoveNext()
Dim pkgName As String = iEnum.Current.Name
Console.WriteLine(pkgName)
End While
End Sub
End Class
End Namespace
샘플 출력:
패키지 수 2
myp1Package
myp2Package
설명
열거자를 만든 후 또는 메서드 MoveNext
를 Reset
호출한 후 열거자가 속성 값을 Current 읽을 수 있기 전에 열거자를 컬렉션의 첫 번째 요소로 이동하려면 메서드를 호출해야 합니다. 그렇지 않으면 Current 정의되지 않고 예외를 throw합니다.
Current 마지막으로 호출 하는 경우 예외를 throw MoveNext
반환 false
, 컬렉션의 끝을 나타내는입니다.
Current 열거자에 대 한 연속 호출의 위치를 이동 하지 않습니다 Current 될 때까지 동일한 개체를 반환 MoveNext
또는 Reset
라고 합니다.
컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 요소 추가, 수정 또는 삭제와 같이 컬렉션이 변경되면 열거자가 무효화되어 복구할 수 없게 됩니다. 따라서 다음에 호출하거나 MoveNext
Reset
throw합니다 InvalidOperationException
. 그러나 컬렉션이 호출 MoveNext
간에 CurrentCurrent 수정된 경우 열거자가 무효화된 경우에도 컬렉션이 설정된 요소를 반환합니다.