可迭代概念上的 GetIterator 方法返回可用于循环访问对象的迭代器接口。 返回的迭代器必须记住传递给 GetIterator 方法的上下文对象。 它不会传递给迭代器本身上的方法。
语法
HRESULT GetIterator(
IModelObject *contextObject,
IModelIterator **iterator
);
参数
contextObject
要为其获取迭代器的实例(此指针)。
iterator
IModelIterator 的实现 循环访问实例对象。
返回值
此方法返回 HRESULT,指示成功或失败。
言论
示例实现:
IFACEMETHOD(GetIterator)(_In_ IModelObject *pContextObject,
_COM_Outptr_ IModelIterator **ppIterator)
{
HRESULT hr = S_OK:
*ppIterator = nullptr;
// The iterator is not going to be passed the context object any more.
// If it needs this (to access fields for iteration, etc...), it must
// capture that in its own state.
ComPtr<MyObjectIterator> spIter;
hr = Microsoft::WRL::MakeAndInitialize<MyObjectIterator>(&spIter, pContextObject);
if (SUCCEEDED(hr))
{
*ppIterator = spIter.Detach();
}
return hr;
}
要求
要求 | 价值 |
---|---|
标头 | dbgmodel.h |