Udostępnij za pośrednictwem


Właściwość PropertyEnumerator.Current

Zwraca bieżący DtsProperty elementu kolekcja.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Runtime
Zestaw:  Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)

Składnia

'Deklaracja
Public ReadOnly Property Current As DtsProperty
    Get
'Użycie
Dim instance As PropertyEnumerator
Dim value As DtsProperty

value = instance.Current
public DtsProperty Current { get; }
public:
property DtsProperty^ Current {
    DtsProperty^ get ();
}
member Current : DtsProperty
function get Current () : DtsProperty

Wartość właściwości

Typ: Microsoft.SqlServer.Dts.Runtime.DtsProperty
A DtsProperty obiektu.

Uwagi

Po utworzeniu moduł wyliczający lub po wywołaniu zresetować metody, MoveNext metoda musi zostać wywołana, aby przejść do pierwszego elementu kolekcja modułu wyliczającego, zanim modułu wyliczającego można odczytać wartości Current właściwość; w przeciwnym razie Current jest niezdefiniowany i zgłasza wyjątek.

Currentrównież zgłasza wyjątek, jeśli wywołanie ostatniego MoveNext zwracane false, które wskazuje koniec kolekcja.

Currentnie przenosi pozycja modułu wyliczającego i kolejne wywołania Current zwracają ten sam obiekt, aż do MoveNext lub zresetować jest wywoływana.

Moduł wyliczający zachowuje ważność tak długo, jak długo kolekcja pozostaje niezmieniony.Jeśli zmiany zostaną wprowadzone do kolekcja, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający jest unieważniona i staje się odzyskane; Dlatego kolejne wywołanie MoveNext lub zresetować generuje InvalidOperationException.Jednak jeśli od modyfikacji kolekcja między wywołaniami MoveNext i Current, Current zwraca element, który jest zestaw , nawet jeśli moduł wyliczający został unieważniony.

Przykłady

Poniższy przykładowy kod tworzy PropertyEnumerator, następnie przedstawia zastosowanie MoveNext i Current metod, aby przenieść kolekcja.

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

Przykładowe dane wyjściowe:

Zawiera CertificateObject?Prawda

Właściwość 5 jest konfiguracje

CertificateContext [0]

[1] CertificateObject

[2] CheckpointFileName

[3] CheckpointUsage

[4] CheckSignatureOnLoad

[5]. Konfiguracje

[6]. Połączenia

[7]. CreationDate

[8]. CreationName

[9] CreatorComputerName

[10]. Nazwa_twórcy

[11] DelayValidation

...

[63] VersionGUID

[64]. VersionMajor

[65] VersionMinor

[66] Ostrzeżenia