ForEachLoop.ForEachEnumerator Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un host para el objeto ForEachEnumerator.
public:
property Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorHost ^ ForEachEnumerator { Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorHost ^ get(); void set(Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorHost ^ value); };
public Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorHost ForEachEnumerator { get; set; }
member this.ForEachEnumerator : Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorHost with get, set
Public Property ForEachEnumerator As ForEachEnumeratorHost
Valor de propiedad
Devuelve un ForEachEnumeratorHost.
Ejemplos
En el ejemplo de código siguiente se crea un ForEachLoop y un ForEachEnumerator desde el host.
// Create the new application and package.
Application app = new Application();
Package package = new Package();
// Create ForEachLoop task
Executables executables = package.Executables;
ForEachLoop forEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop;
// Create a VariableMappings and VariableMapping objects.
ForEachVariableMappings forEachVariableMappings = forEachLoop.VariableMappings;
ForEachVariableMapping forEachVariableMapping = forEachVariableMappings.Add();
// Create a mapping between the variable and its value.
forEachVariableMapping.VariableName = @"Id";
forEachVariableMapping.ValueIndex = 0;
// Create a ForEachEnumeratorInfo from the application.
// Create a Host for the ForEachItem enumerator.
// Set the CollectionEnumerator to true to indicate that
// the iteration is over a collection.
ForEachEnumeratorInfo forEachEnumeratorInfo = app.ForEachEnumeratorInfos["Foreach Item Enumerator"];
ForEachEnumeratorHost forEachEnumeratorHost = forEachEnumeratorInfo.CreateNew();
forEachEnumeratorHost.CollectionEnumerator = true;
// Create the appropriate type of ForEachEnumerator from the host.
forEachLoop.ForEachEnumerator = forEachEnumeratorHost;
// Setup the Collection enumerator.
ForEachItemEnumerator forEachItemEnumerator = forEachEnumeratorHost.InnerObject as ForEachItemEnumerator;
ForEachItem forEachItem = forEachItemEnumerator.Items.Add();
ForEachItemValue forEachItemValue = forEachItem.Add();
forEachItemValue.Value = 1;
forEachItemValue = forEachItem.Add();
forEachItemValue.Value = "A";
// Add other tasks to ForEachLoop container
// and set appropriate values.
// Run the package.
DTSExecResult status = package.Execute();
' Create the new application and package.
Dim app As Application = New Application()
Dim package As Package = New Package()
' Create ForEachLoop task
Dim executables As Executables = package.Executables
Dim forEachLoop As ForEachLoop = executables.Add("STOCK:FOREACHLOOP") as ForEachLoop
' Create a VariableMappings and VariableMapping objects.
Dim forEachVariableMappings As ForEachVariableMappings = forEachLoop.VariableMappings
Dim forEachVariableMapping As ForEachVariableMapping = forEachVariableMappings.Add()
' Create a mapping between the variable and its value.
forEachVariableMapping.VariableName = "Id"
forEachVariableMapping.ValueIndex = 0
' Create a ForEachEnumeratorInfo from the application.
' Create a Host for the ForEachItem enumerator.
' Set the CollectionEnumerator to true to indicate that
' the iteration is over a collection.
Dim forEachEnumeratorInfo As ForEachEnumeratorInfo = app.ForEachEnumeratorInfos("Foreach Item Enumerator")
Dim forEachEnumeratorHost As ForEachEnumeratorHost = forEachEnumeratorInfo.CreateNew()
forEachEnumeratorHost.CollectionEnumerator = True
' Create the appropriate type of ForEachEnumerator from the host.
forEachLoop.ForEachEnumerator = forEachEnumeratorHost
' Setup the Collection enumerator.
Dim forEachItemEnumerator As ForEachItemEnumerator = forEachEnumeratorHost.InnerObject as ForEachItemEnumerator
Dim forEachItem As ForEachItem = forEachItemEnumerator.Items.Add()
Dim forEachItemValue As ForEachItemValue = forEachItem.Add()
forEachItemValue.Value = 1
forEachItemValue = forEachItem.Add()
forEachItemValue.Value = "A"
' Add other tasks to ForEachLoop container
' and set appropriate values.
' Run the package.
Dim status As DTSExecResult = package.Execute()