Metoda PrecedenceConstraints.GetEnumerator
Zwraca moduł wyliczający do użytku w Iterowanie nad PrecedenceConstraints kolekcja.
Przestrzeń nazw: Microsoft.SqlServer.Dts.Runtime
Zestaw: Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)
Składnia
'Deklaracja
Public Function GetEnumerator As PrecedenceConstraintEnumerator
'Użycie
Dim instance As PrecedenceConstraints
Dim returnValue As PrecedenceConstraintEnumerator
returnValue = instance.GetEnumerator()
public PrecedenceConstraintEnumerator GetEnumerator()
public:
PrecedenceConstraintEnumerator^ GetEnumerator()
member GetEnumerator : unit -> PrecedenceConstraintEnumerator
public function GetEnumerator() : PrecedenceConstraintEnumerator
Wartość zwracana
Typ: Microsoft.SqlServer.Dts.Runtime.PrecedenceConstraintEnumerator
A PrecedenceConstraintEnumerator.
Uwagi
Jeśli wywołanie Contains Metoda zwraca true, określonego elementu kolekcja można uzyskać dostęp za pomocą składni PrecedenceConstraints[index].Jednakże jeśli Contains Metoda zwraca false, ta właściwość zgłasza wyjątek.W języku C#, ta właściwość jest indeksowanie dla PrecedenceConstraints klasy
Przykłady
Następujący przykładowy kod tworzy dwa ograniczenia pierwszeństwo.Następnie Contains sprawdzał, czy szczególne ograniczenia zlicza ograniczenia przed i po zastosowaniu środka Remove metoda i przedstawiono sposób użycia GetEnumerator do iterować nad zbierania, przy użyciu Item Składnia pConsts[i].ID zwraca ID ograniczenie.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;
namespace PrecedenceConst
{
class Program
{
static void Main(string[] args)
{
Package pkg = new Package();
// Add a File System task.
Executable eFileTask1 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileTask1 = eFileTask1 as TaskHost;
// Add a second File System task.
Executable eFileTask2 = pkg.Executables.Add("STOCK:FileSystemTask");
TaskHost thFileTask2 = eFileTask2 as TaskHost;
// Add a Bulk Insert task.
Executable eBulkInsert = pkg.Executables.Add("STOCK:BulkInsertTask");
TaskHost thBulkInsert = eBulkInsert as TaskHost;
// Add a precedence constraint between eFileTask1 and eFileTask2.
// Set the constraint to be that eFileTask2 cannot run
// until eFileTask1 completes.
PrecedenceConstraint pcFileTasks = pkg.PrecedenceConstraints.Add(eFileTask1, eFileTask2);
pcFileTasks.Name = "constraint between File System Tasks";
// Add another precedence constraint. Add it between eFileTask2 and BulkInsert.
// Again, set the constraint to be that BulkInsert cannot run
// until eFileTask2 completes.
PrecedenceConstraint pcFiletoBulk = pkg.PrecedenceConstraints.Add(eFileTask2, eBulkInsert);
pcFileTasks.Name = "constraint between File System and Bulk Insert Tasks";
// Obtain the precedence constraint collection.
PrecedenceConstraints pConsts = pkg.PrecedenceConstraints;
Boolean containsConstraint = pkg.PrecedenceConstraints.Contains("constraint between File System and Bulk Insert Tasks");
Console.WriteLine("Contains the constraint between File System and Bulk Insert Tasks? {0}", containsConstraint);
// Create the enumerator.
PrecedenceConstraintEnumerator myEnumerator = pConsts.GetEnumerator();
// Iterate over the collection, and remove the Bulk Insert task.
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
{
Console.WriteLine("ID {0}", pConsts[i].ID);
}
Console.WriteLine("Number of constraints {0}", pConsts.Count);
// Remove the second contstraint.
pConsts.Remove(1);
// Verify that one has been removed.
Console.WriteLine("Number of constraints {0}", pConsts.Count);
Console.WriteLine();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
Imports Microsoft.SqlServer.Dts.Tasks.BulkInsertTask
Namespace PrecedenceConst
Class Program
Shared Sub Main(ByVal args() As String)
Dim pkg As Package = New Package()
' Add a File System task.
Dim eFileTask1 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim thFileTask1 As TaskHost = eFileTask1 as TaskHost
' Add a second File System task.
Dim eFileTask2 As Executable = pkg.Executables.Add("STOCK:FileSystemTask")
Dim thFileTask2 As TaskHost = eFileTask2 as TaskHost
' Add a Bulk Insert task.
Dim eBulkInsert As Executable = pkg.Executables.Add("STOCK:BulkInsertTask")
Dim thBulkInsert As TaskHost = eBulkInsert as TaskHost
' Add a precedence constraint between eFileTask1 and eFileTask2.
' Set the constraint to be that eFileTask2 cannot run
' until eFileTask1 completes.
Dim pcFileTasks As PrecedenceConstraint = pkg.PrecedenceConstraints.Add(eFileTask1,eFileTask2)
pcFileTasks.Name = "constraint between File System Tasks"
' Add another precedence constraint. Add it between eFileTask2 and BulkInsert.
' Again, set the constraint to be that BulkInsert cannot run
' until eFileTask2 completes.
Dim pcFiletoBulk As PrecedenceConstraint = pkg.PrecedenceConstraints.Add(eFileTask2,eBulkInsert)
pcFileTasks.Name = "constraint between File System and Bulk Insert Tasks"
' Obtain the precedence constraint collection.
Dim pConsts As PrecedenceConstraints = pkg.PrecedenceConstraints
Dim containsConstraint As Boolean = pkg.PrecedenceConstraints.Contains("constraint between File System and Bulk Insert Tasks")
Console.WriteLine("Contains the constraint between File System and Bulk Insert Tasks? {0}", containsConstraint)
' Create the enumerator.
Dim myEnumerator As PrecedenceConstraintEnumerator = pConsts.GetEnumerator()
' Iterate over the collection, and remove the Bulk Insert task.
Dim i As Integer = 0
While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
Console.WriteLine("ID {0}", pConsts(i).ID)
End While
Console.WriteLine("Number of constraints {0}", pConsts.Count)
' Remove the second contstraint.
pConsts.Remove(1)
' Verify that one has been removed.
Console.WriteLine("Number of constraints {0}", pConsts.Count)
Console.WriteLine()
End Sub
End Class
End Namespace
Przykładowe dane wyjściowe:
Zawiera ograniczenia między systemem plików i luzem Wstaw zadania?Prawda
IDENTYFIKATOR {BA42AF32-3AC1-4CB6-85A2-289760ADBFA4}
IDENTYFIKATOR {BA42AF32-3AC1-4CB6-85A2-289760ADBFA4}
Liczby ograniczeń 2
Liczby ograniczeń 1