فئة System::Collections::Generic::IEnumerator
محتويات
[
يخفي
]IEnumerator class
واجهة للعداد التي يمكن استخدامها للتنقل عبر بعض العناصر. يجب تخصيص كائنات هذه الفئة فقط باستخدام الدالة System::MakeObject(). لا تقم بإنشاء نسخة من هذا النوع على المكدس أو باستخدام عامل new، لأن ذلك سيتسبب في أخطاء وقت التشغيل أو أخطاء تأكيد. احرص دائمًا على تغليف هذه الفئة في مؤشر System::SmartPtr واستخدام هذا المؤشر لتمريره إلى الدوال كمعامل.
template<typename T>class IEnumerator : public virtual System::IDisposable,
public System::Details::EnumeratorBasedIterator<T>,
protected System::Details::IteratorPointerUpdater<T, false>
| معامل | الوصف |
|---|---|
| T | نوع العنصر. |
الطرق
| طريقة | الوصف |
|---|---|
| AsVirtualizedIterator() | يجهز المتكرر للاستخدام من قبل فئة VirtualizedIterator. |
| CloneIterator() const override | ينسخ المكرِّر الحالي. |
| virtual Current() const | يحصل على العنصر الحالي. |
| virtual get_Current() const | يحصل على العنصر الحالي. |
| IEnumerator() | |
| IncrementIterator() override | يحرك المكرّر خطوة إلى الأمام. |
| InitializeIterator() override | يقوم بالاتصال الأول لـ MoveNext() ويجهز كائن العدّاد للاستخدام من قبل VirtualizedIterator. |
| MarkOwnedByVirtualizedIterator() | يعلّم العدّاد المملوك للمتكرر الافتراضي. |
| virtual MoveNext() | ينقل المُعدِّد إلى العنصر التالي. إذا لم يتم الإشارة إلى أي عنصر من قبل، يضبط الإشارة إلى أول عنصر متاح. إذا تم الوصول إلى نهاية الحاوية، لا يفعل شيئًا. |
| virtual Reset() | يعيد ضبط العداد إلى الموضع قبل العنصر الأول. |
| virtual ~IEnumerator() |
Typedefs
| تعريف نوع | الوصف |
|---|---|
| ValueType | نوع القيمة. |
ملاحظات
#include <system/collections/list.h>
#include <system/smart_ptr.h>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
// إنشاء مثال فئة List.
auto collection = MakeObject<List<int>>();
// املأ القائمة.
collection->Add(1);
collection->Add(2);
collection->Add(3);
// احصل على عدّاد القائمة.
auto enumerator = collection->GetEnumerator();
while (enumerator->MoveNext())
{
// احصل على العنصر الحالي واطبعّه.
std::cout << enumerator->get_Current() << ' ';
}
// إعادة تعيين العدّاد.
enumerator->Reset();
return 0;
}
/*
This code example produces the following output:
1 2 3
*/
انظر أيضًا
- Class IDisposable
- Namespace System::Collections::Generic
- Library Aspose.Font for C++