PrecedenceConstraints.Remove(Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Удаляет указанный элемент как элемент управления очередностью из коллекции PrecedenceConstraints.
public:
void Remove(System::Object ^ index);
public void Remove (object index);
member this.Remove : obj -> unit
Public Sub Remove (index As Object)
Параметры
- index
- Object
Имя, идентификатор, удостоверение или индекс, который необходимо найти в коллекции.
Примеры
В следующем примере кода создаются два ограничения приоритета. Затем он используется Contains для проверки наличия определенного ограничения, подсчитывает количество ограничений до и после использования Remove метода и показывает, как использовать GetEnumerator итерацию по коллекции, используя Item[] синтаксис pConsts[i].ID
возврата ID ограничения.
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
Образец вывода:
Содержит ограничение между файловой системой и задачами массовой вставки? True
Идентификатор {BA42AF32-3AC1-4CB6-85A2-289760ADBFA4}
Идентификатор {BA42AF32-3AC1-4CB6-85A2-289760ADBFA4}
Количество ограничений 2
Число ограничений 1
Комментарии
Если вызов метода Contains возвращается true
, доступ к указанному элементу в коллекции можно получить с помощью синтаксиса PrecedenceConstraints[index]
. Однако если Contains метод возвращается false
, это свойство создает исключение. В C# это свойство является индексатором класса PrecedenceConstraints.