ExtendedPropertyEnumerator.Current Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.