语言

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普查员

注解

在创建枚举器或调用 重置 方法后,必须调用 MoveNext 方法,将枚举子推进到集合的第一个元素,枚举器才能读取 当前 属性的值;否则, Current 未定义,并抛出异常。

如果最后一次调用 MoveNext,Currentfalse也会抛出异常,表示集合结束。

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

只要集合保持不变,枚举器就保持有效。 如果对集合进行了更改,比如添加、修改或删除元素,枚举器将失效并无法恢复;因此,下一次调用 MoveNextReset 会抛出 InvalidOperationException。 然而,如果集合在调用 MoveNextCurrent 之间被修改, Current 会返回它被设定的元素,即使枚举器已被失效。

适用于