Share via


ForEachEnumeratorInfosEnumerator.Current 属性

定义

从集合返回当前的 ForEachEnumeratorInfo 对象。

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

属性值

集合中的当前 ForEachEnumeratorInfo 对象。

示例

下面的代码示例创建一个枚举器,然后使用 Current MoveNext 方法在集合上导航。

using System;  
using System.Collections;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Runtime.Enumerators.Item;  

namespace ForEachEnums  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Application app = new Application();  
            ForEachEnumeratorInfos feInfos = app.ForEachEnumeratorInfos;  

            //Create the Enumerator.  
            ForEachEnumeratorInfosEnumerator myEnumerator = feInfos.GetEnumerator();  
            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
                Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Name);  
        }  
    }  
}  

示例输出:

该集合包含以下值:

[0] 对于每个文件枚举器

[1] 对于每个项枚举器

[2] 对于每个 ADO 枚举器

[3] 对于每个 ADO.NET 架构行集枚举器

[4] 对于每个变量枚举器

[5] 每个 NodeList 枚举器

[6] 每个 SMO 枚举器

注解

创建枚举器或调用 Reset 方法后,必须调用 MoveNext 方法,才能将枚举器提升到集合的第一个元素,然后枚举器才能读取 Current 属性的值:否则, 当前 未定义并引发异常。

如果返回falseMoveNext 的最后一次调用,则当前也会引发异常,这表示集合的末尾。

当前 不会移动枚举器的位置,并且对 Current 的连续调用将返回相同的对象,直到调用 MoveNextReset

只要集合保持不变,枚举器就仍有效。 如果对集合进行了更改(如添加、修改或删除元素),则枚举器将失效并变为不可恢复;因此,对 MoveNextReset 的下一次调用将引发 InvalidOperationException。 但是,如果在对 MoveNextCurrent 的调用之间修改集合, 则 Current 将返回它设置为的元素,即使枚举器已失效也是如此。

适用于