ForEachLoop.ForEachEnumerator プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
プロパティ値
ForEachEnumeratorHost を返します。
例
次のコード例では、ForEachLoop と ForEachEnumerator をホストから作成します。
// 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()