PropertyEnumerator.Current Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne l'élément DtsProperty actuel dans la collection.
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
Valeur de propriété
Objet DtsProperty.
Exemples
L’exemple de code suivant crée un PropertyEnumerator, puis montre l’utilisation des méthodes et Current des MoveNext
méthodes pour passer au-dessus de la collection.
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
Exemple de sortie :
Contient CertificateObject ? True
Propriété 5 est Configurations
[0] CertificateContext
[1] CertificateObject
[2] CheckpointFileName
[3] CheckpointUsage
[4] CheckSignatureOnLoad
Configurations [5]
[6] Connexions
[7] CreationDate
[8] CreationName
[9] CreatorComputerName
[10] CreatorName
[11] DelayValidation
. . .
[63] VersionGUID
[64] VersionMajor
[65] VersionMinor
Avertissements [66]
Remarques
Une fois qu’un énumérateur est créé ou après un appel à la Reset
méthode, la MoveNext
méthode doit être appelée pour avancer l’énumérateur vers le premier élément de la collection avant que l’énumérateur puisse lire la valeur de la Current propriété ; sinon, Current elle n’est pas définie et lève une exception.
Current lève également une exception si le dernier appel à MoveNext
renvoyer false
, qui indique la fin de la collection.
Current ne déplace pas la position de l’énumérateur, et les appels consécutifs pour renvoyer le même objet jusqu’à Current ce que l’un MoveNext
ou Reset
l’autre soit appelé.
Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, comme l’ajout, la modification ou la suppression d’éléments, l’énumérateur est invalidé et devient irrécupérable ; par conséquent, l’appel suivant à MoveNext
ou Reset
lève un InvalidOperationException
. Toutefois, si la collection est modifiée entre les appels à MoveNext
et Current, Current retourne l’élément sur lequel il est défini, même si l’énumérateur a été invalidé.