TaskInfoEnumerator.Current Property


从集合获取当前的 TaskInfo 对象。Gets the current TaskInfo object from the collection.

 property Microsoft::SqlServer::Dts::Runtime::TaskInfo ^ Current { Microsoft::SqlServer::Dts::Runtime::TaskInfo ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.TaskInfo Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.TaskInfo
Public ReadOnly Property Current As TaskInfo

Property Value


当前 TaskInfo 对象。The current TaskInfo object.


下面的代码示例创建一个枚举器, 然后使用Current和 MoveNext 方法导航到该集合。The following code sample creates an enumerator, and then uses the Current and MoveNext methods to navigate over the collection.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
namespace TaskInfos_Item  
    class Program  
        static void Main(string[] args)  
            Application app = new Application();  
            TaskInfos tInfos = app.TaskInfos;  
            //Create the Enumerator.  
            TaskInfoEnumerator myEnumerator = tInfos.GetEnumerator();  
            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            while ((myEnuemrator.MoveNext()) && (myEnuemrator.Current != null))  
                Console.WriteLine("[{0}] {1}", i++, myEnuemrator.Current.Name);  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  
Namespace TaskInfos_Item  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim app As Application =  New Application()   
            Dim tInfos As TaskInfos =  app.TaskInfos   
            'Create the Enumerator.  
            Dim myEnumerator As TaskInfoEnumerator =  tInfos.GetEnumerator()   
            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            While (myEnuemrator.MoveNext()) &&(myEnuemrator.Current <> Nothing)  
            Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1  
            End While  
        End Sub  
    End Class  
End Namespace  

示例输出:Sample output:

该集合包含以下值:The collection contains the following values:

[0] 执行包任务[0] Execute Package Task

[1] 数据流任务[1] Data Flow Task

[2] SQL Server Analysis Services 执行 DDL 任务[2] SQL Server Analysis Services Execute DDL Task

[3] SQL Server Analysis Services 处理任务[3] SQL Server Analysis Services Processing Task

[4] 大容量插入任务[4] Bulk Insert Task

[5] 数据挖掘查询任务[5] Data Mining Query Task

[6] 执行进程任务[6] Execute Process Task

[7] 文件系统任务[7] File System Task

[8] 文件传输协议任务[8] File Transfer Protocol Task


在创建枚举器后, 或在调用Reset方法后MoveNext , 必须调用方法以将枚举数前移到集合的第一个元素, 然后枚举器才能Current读取属性的值; 否则为。Current未定义并且引发异常。After an enumerator is created, or after a call to the Reset method, the MoveNext method must be called to advance the enumerator to the first element of the collection before the enumerator can read the value of the Current property; otherwise, Current is undefined and throws an exception.

Current如果最后一次调用MoveNext返回false(指示集合的末尾), 也会引发异常。Current also throws an exception if the last call to MoveNext returned false, which indicates the end of the collection.

Current不移动枚举器的位置, 并且对的Current连续调用将返回相同的对象, MoveNext直到调用或ResetCurrent does not move the position of the enumerator, and consecutive calls to the Current return the same object until either MoveNext or Reset is called.

只要集合保持不变, 枚举数就会保持有效。An enumerator remains valid as long as the collection remains unchanged. 如果对集合所做的更改 (如添加、修改或删除元素), 则枚举器将失效并且不可恢复;因此, 对MoveNextReset的下一个调用将InvalidOperationException引发。If changes are made to the collection, such as adding, modifying, or deleting elements, the enumerator is invalidated and becomes irrecoverable; thus, the next call to MoveNext or Reset throws an InvalidOperationException. 如果在对MoveNextCurrent的调用之间修改集合, Current则将返回它设置为的元素, 即使枚举器已失效。If the collection is modified between calls to MoveNext and Current, Current returns the element that it is set to, even if the enumerator has been invalidated.

Applies to