Share via


IEnumeratorContract<C> 介面

定義

列舉 IContract 物件之泛型集合的項目。

generic <typename C>
 where C : IContractpublic interface class IEnumeratorContract : System::AddIn::Contract::IContract
public interface IEnumeratorContract<C> : System.AddIn.Contract.IContract where C : IContract
type IEnumeratorContract<'C (requires 'C :> IContract)> = interface
    interface IContract
Public Interface IEnumeratorContract(Of C)
Implements IContract

類型參數

C

要列舉之物件的類型。 C 必須實作 IContract 介面。

實作

備註

列舉程式可以用來讀取集合中的資料,但是無法用來修改基礎集合。

一開始,列舉程式位在集合中的第一個項目之前。 在這個位置,的 GetCurrent 傳回值是未定義的。 因此,您必須先呼叫 MoveNext ,才能將列舉值前移至集合的第一個專案,再呼叫 GetCurrent

GetCurrent 會傳回相同的物件直到呼叫 MoveNextMoveNext 會將的 GetCurrent 傳回值設定為下一個專案。

如果 MoveNext 傳遞集合結尾,列舉值會放在集合的最後一個專案後面,並 MoveNextfalse回 。 當列舉值位於這個位置時,後續呼叫 MoveNext 也會傳回 false。 如果最後一 MoveNext 次呼叫傳 false回 ,則的 GetCurrent 傳回值是未定義的。

只要集合維持不變,列舉值就仍維持有效。 如果對集合進行變更,例如加入、修改或刪除項目,列舉程式會永久失效,且其行為未定義。

方法

AcquireLifetimeToken()

指定合約可供用戶端存取,直到用戶端撤銷合約為止。

(繼承來源 IContract)
GetCurrent()

傳回集合中位於列舉值目前位置的 IContract

GetRemoteHashCode()

傳回 IContract 的雜湊程式碼。

(繼承來源 IContract)
MoveNext()

將列舉值往前推至下集合中的下一個項目。

QueryContract(String)

傳回這個合約所實作的合約。

(繼承來源 IContract)
RemoteEquals(IContract)

表示指定的合約是否等於這個 IContract

(繼承來源 IContract)
RemoteToString()

傳回目前 IContract 的字串表示。

(繼承來源 IContract)
Reset()

設定列舉值至它的初始位置,這是在集合中第一個項目之前。

RevokeLifetimeToken(Int32)

指定用戶端不再能存取合約。

(繼承來源 IContract)

適用於