12.07.2015 Views

bu döküman kaan aslan tarafından c ve sistem ... - Kitabxana

bu döküman kaan aslan tarafından c ve sistem ... - Kitabxana

bu döküman kaan aslan tarafından c ve sistem ... - Kitabxana

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}finally {//Dispose e}IEnumareble arayüzünü destekleyen bir sınıf yazarsak onu bizde foreach deyimiyle birliktekullanabiliriz. Ienumareble arayüzünü destekleyen bir sınıf şöyle yazılabilir.1. Bir tane IEnumerator arayüzünü destekleyen bir sınıf oluşturulur. Bu sınıfın collectionsınıfın içinde private olarak bildirilmesi iyi olur.2. Ana collection sınıf için GetEnumerator fonksiyonu yazılır. Bu fonksiyon içindeIenumerator arayüzünü destekleyen sınıf türünden nesne yaratılır <strong>ve</strong> o nesne ile geridönülür. Nesne yaratılırken collection sınıfın kendi referansının sınıfa geçirilmesi gerekir.using System;using System.Collections;namespace CSD{class App{public static void Main(){MyCollection mc = new MyCollection();foreach (int x in mc)Console.WriteLine(x);}class MyCollection : IEnumerable{private int[] m_array;public MyCollection (){m_array = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};}public IEnumerator GetEnumerator(){return new MyCollectionEnumerator(this);}//...private class MyCollectionEnumerator : IEnumerator{private MyCollection m_mc;private int m_index;public MyCollectionEnumerator(MyCollection mc){m_mc = mc;m_index = -1;}public bool Mo<strong>ve</strong>Next(){7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!