Udostępnij za pośrednictwem


Metoda PrecedenceConstraints.Contains

Zwraca wartość logiczna , wskazuje, czy elementy kolekcja można uzyskać dostęp przy użyciu indeksowania bez Zgłaszanie wyjątku.

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

Składnia

'Deklaracja
Public Function Contains ( _
    index As Object _
) As Boolean
'Użycie
Dim instance As PrecedenceConstraints
Dim index As Object
Dim returnValue As Boolean

returnValue = instance.Contains(index)
public bool Contains(
    Object index
)
public:
bool Contains(
    Object^ index
)
member Contains : 
        index:Object -> bool 
public function Contains(
    index : Object
) : boolean

Parametry

  • index
    Typ: System.Object
    Nazwa, tożsamość, identyfikator lub indeksu zlokalizować kolekcja.

Wartość zwracana

Typ: System.Boolean
A wartość logiczna , wskazuje, czy kolekcja jest możliwy przez nazwę, identyfikator lub tożsamości indeksu.Wartość true wskazuje, że kolekcja można uzyskać dostęp za pomocą składni PrecedenceConstraints[index].Wartość false wskazuje, że indeksowania może być użyty do pobieranie elementów z PrecedenceConstraints kolekcja; za pomocą tej właściwość zgłasza wyjątek.

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