Bagikan melalui


ExtendedPropertyEnumerator.Current Properti

Definisi

Mengembalikan objek saat ini ExtendedProperty dari koleksi.

public:
 property Microsoft::SqlServer::Dts::Runtime::ExtendedProperty ^ Current { Microsoft::SqlServer::Dts::Runtime::ExtendedProperty ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.ExtendedProperty Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.ExtendedProperty
Public ReadOnly Property Current As ExtendedProperty

Nilai Properti

Objek saat ini ExtendedProperty .

Contoh

Sampel kode berikut membuat enumerator, lalu menggunakan Current metode MoveNext dan untuk menavigasi koleksi.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
namespace ExtendedProperties_Testing  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            // The package is one of the SSIS Samples.  
            string mySample = @"C:\Program Files\Microsoft SQL Server\100\Tools\Samples\1033\DataTransformationServices\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";  
            // Create the Application, and load the sample.  
            Application app = new Application();  
            Package pkg = app.LoadPackage(mySample, null);  

            // Get the Extended properties collection from the package.  
            ExtendedProperties myExtProps = pkg.ExtendedProperties;  
            //Create the Enumerator.  
            ExtendedPropertyEnumerator myEnumerator = myExtProps.GetEnumerator();  

            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            ExtendedProperty myExtProp;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
            {  
                myExtProp = (ExtendedProperty)myEnumerator.Current;  
                Console.WriteLine("[{0}] {1}, {2}", i++, myExtProp.ID, myExtProp.DataType);  
                Console.WriteLine("------------------------------");  
            }  
            // Reset puts the index pointer before the beginning.  
            // Do not retrieve from the collection until MoveNext is called.  
            myEnumerator.Reset();  
            myEnumerator.MoveNext();  

            // Now that the enumerator has been reset, and moved to the  
            // first item in the collection, show the first item.  
            myExtProp = (ExtendedProperty)myEnumerator.Current;  
            Console.WriteLine("The first item in the enumerator after Reset:");  
            Console.WriteLine("{0}, {1}", myExtProp.ID, myExtProp.DataType);  
            Console.WriteLine();  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace ExtendedProperties_Testing  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            ' The package is one of the SSIS Samples.  
            Dim mySample As String =  "C:\Program Files\Microsoft SQL Server\100\Tools\Samples\1033\DataTransformationServices\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"   
            ' Create the Application, and load the sample.  
            Dim app As Application =  New Application()   
            Dim pkg As Package =  app.LoadPackage(mySample,Nothing)   

            ' Get the Extended properties collection from the package.  
            Dim myExtProps As ExtendedProperties =  pkg.ExtendedProperties   
            'Create the Enumerator.  
            Dim myEnumerator As ExtendedPropertyEnumerator =  myExtProps.GetEnumerator()   

            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            Dim myExtProp As ExtendedProperty  
            While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)  
                myExtProp = CType(myEnumerator.Current, ExtendedProperty)  
                Console.WriteLine("[{0}] {1}, {2}",i = Console.WriteLine("[{0}] {1}, {2}",i + 1  
                Console.WriteLine("------------------------------")  
            End While  
            ' Reset puts the index pointer before the beginning.  
            ' Do not retrieve from the collection until MoveNext is called.  
            myEnumerator.Reset()  
            myEnumerator.MoveNext()  

            ' Now that the enumerator has been reset, and moved to the  
            ' first item in the collection, show the first item.  
            myExtProp = CType(myEnumerator.Current, ExtendedProperty)  
            Console.WriteLine("The first item in the enumerator after Reset:")  
            Console.WriteLine("{0}, {1}", myExtProp.ID, myExtProp.DataType)  
            Console.WriteLine()  
        End Sub  
    End Class  
End Namespace  

Contoh Output:

Koleksi berisi nilai berikut:

[0] {F3B7314E-DB1E-4CCA-A856-2E617A1B3265}, String

------------------------------

[1] {AA947F2D-C3B3-420F-B39E-4B7C77DAAFC0}, String

------------------------------

[2] {AB2CCC33-3090-4C36-B444-5B50BB481324}, String

------------------------------

[3] {FE85601C-4ECC-41D4-BEAA-1318ddF7EE2A}, String

------------------------------

[4] {4D1641B9-94EF-4144-9820-1B30ABD2214F}, String

------------------------------

[5] {4E76A01C-BFF8-462D-AAB0-FB48B3EEAE00}, String

------------------------------

[6] {A56842E2-11C1-487E-B670-33F25B534146}, String

------------------------------

Item pertama dalam enumerator setelah Reset:

{F3B7314E-DB1E-4CCA-A856-2E617A1B3265}, String

Keterangan

Setelah enumerator dibuat, atau setelah panggilan ke metode Reset , metode MoveNext harus dipanggil untuk memajukan enumerator ke elemen pertama koleksi sebelum enumerator dapat membaca nilai properti Saat Ini ; jika tidak, Saat ini tidak terdefinisi dan melempar pengecualian.

Saat ini juga melempar pengecualian jika panggilan terakhir ke MoveNext dikembalikan false, yang menunjukkan akhir koleksi.

Saat ini tidak memindahkan posisi enumerator, dan panggilan berturut-turut ke Saat ini mengembalikan objek yang sama hingga MoveNext atau Reset dipanggil.

Enumerator tetap valid selama koleksi tetap tidak berubah. Jika perubahan dilakukan pada koleksi, seperti menambahkan, memodifikasi, atau menghapus elemen, enumerator tidak valid dan menjadi tidak dapat dipulihkan; dengan demikian, panggilan berikutnya ke MoveNext atau Reset melempar InvalidOperationException. Jika koleksi dimodifikasi antara panggilan ke MoveNext dan Current, Current mengembalikan elemen yang diatur ke, bahkan jika enumerator telah dibatalkan.

Berlaku untuk