PropertyEnumerator.Current 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에서 현재 DtsProperty 요소를 반환합니다.
public:
property Microsoft::SqlServer::Dts::Runtime::DtsProperty ^ Current { Microsoft::SqlServer::Dts::Runtime::DtsProperty ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.DtsProperty Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.DtsProperty
Public ReadOnly Property Current As DtsProperty
속성 값
DtsProperty 개체입니다.
예제
다음 코드 샘플에서는 컬렉션을 통해 이동하는 메서드 및 Current 메서드의 MoveNext
사용을 보여 줍니다PropertyEnumerator.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace DtsProperties_API
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
// Get the Properties collection from the package.
// This shows the default properties set on new packages.
DtsProperties pkgProperties = pkg.Properties;
// Create the enumerator.
PropertyEnumerator myEnumerator = pkgProperties.GetEnumerator();
// Show the use of the Contains method.
Boolean containsCertObj = pkgProperties.Contains("CertificateObject");
Console.WriteLine("Contains CertificateObject? {0}", containsCertObj);
// Show the use of the item[x] syntax.
String aName = pkgProperties[5].Name;
Console.WriteLine("Property 5 is {0}", aName);
// Show the use of the MoveNext and Current methods.
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
{
Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Name);
}
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace DtsProperties_API
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
' Get the Properties collection from the package.
' This shows the default properties set on new packages.
Dim pkgProperties As DtsProperties = pkg.Properties
' Create the enumerator.
Dim myEnumerator As PropertyEnumerator = pkgProperties.GetEnumerator()
' Show the use of the Contains method.
Dim containsCertObj As Boolean = pkgProperties.Contains("CertificateObject")
Console.WriteLine("Contains CertificateObject? {0}", containsCertObj)
' Show the use of the item[x] syntax.
Dim aName As String = pkgProperties(5).Name
Console.WriteLine("Property 5 is {0}", aName)
' Show the use of the MoveNext and Current methods.
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
샘플 출력:
CertificateObject가 포함되어 있나요? 참
속성 5는 구성입니다.
[0] CertificateContext
[1] CertificateObject
[2] CheckpointFileName
[3] CheckpointUsage
[4] CheckSignatureOnLoad
[5] 구성
[6] 연결
[7] CreationDate
[8] CreationName
[9] CreatorComputerName
[10] CreatorName
[11] DelayValidation
. . .
[63] VersionGUID
[64] VersionMajor
[65] VersionMinor
[66] 경고
설명
열거자를 만든 후 또는 메서드 MoveNext
를 Reset
호출한 후 열거자가 속성 값을 Current 읽을 수 있기 전에 열거자를 컬렉션의 첫 번째 요소로 이동하려면 메서드를 호출해야 합니다. 그렇지 않으면 Current 정의되지 않고 예외를 throw합니다.
Current 마지막으로 호출 하는 경우 예외를 throw MoveNext
반환 false
, 컬렉션의 끝을 나타내는입니다.
Current 열거자에 대 한 연속 호출의 위치를 이동 하지 않습니다 Current 될 때까지 동일한 개체를 반환 MoveNext
또는 Reset
라고 합니다.
컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 요소 추가, 수정 또는 삭제와 같이 컬렉션이 변경되면 열거자가 무효화되어 복구할 수 없게 됩니다. 따라서 다음에 호출하거나 MoveNext
Reset
throw합니다 InvalidOperationException
. 그러나 컬렉션이 호출 MoveNext
간에 CurrentCurrent 수정된 경우 열거자가 무효화된 경우에도 컬렉션이 설정된 요소를 반환합니다.