C# Indexed Class

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    Cümle sınıfında kelimeleri ve bu kelimelerin özelliklerini barındırmam gerekiyor. Örnek olarak; Cümle> "Konu Sadece Üyelere Gözüksün." Bu cümle'ye ait kelimeler de "Konu, Sadece, Üyelere, Gözüksün." ben bu kelimelerede çeşitli özellikler vermek istiyorum. Yani Cümle Class'ı içinde Kelime Class'ınıda barındırmak istiyorum. bununla ilgili 2 ayrı class yazdım internette araştırdım Indexed Class'ları ancak, Cumle m_Cumle = new Cumle(); m_Cumle.Kelimeler[0]. yaptığımda . (nokta) dan sonra indexi seçili kelimenin propertiesine ulaşmak istiyorum ancak başaramıyorum. Nasıl yapabilirim bunu?

    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wking
    wking's avatar
    Kayıt Tarihi: 28/Mart/2010
    Erkek

    public partial class yazarak yapabilirsin kanımca.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tarikat Şeyhi
    HolyOne
    HolyOne's avatar
    Kayıt Tarihi: 01/Haziran/2002
    Erkek

    =) partial baska bişey

     

    Cumle nin IEnumerable dan tureyen bir class olması lazım böylece foreach (kelime k in cumle) şeklinde  erişebilirsin.


    Nush ile uslanmayanı etmeli tekdir, Tekdir ile uslanmayanın hakkı kötektir!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

    partial, sinifin kodlarinin parcali sekilde tanimlanacagini derleyiciye bildirir. ;-)

    cumle sinifinin icindeki Kelimeler property sini generic bi koleksiyon olarak bildirirsen (mesela public List<Kelime> gibi) yapabilirsin ;-)

    eger direk cumle nesnesini indexlemek istersen (Cumle cml = new Cumle(); cml[0].   gibi)
    o zamanda, index operatorunu yuklemen gerekir.

    ikisinide asagida orneklendirdim ;-)

     

        class Program
        {
            static void Main(string[] args)
            {
                Cumle cm = new Cumle();
                cm.Kelimeler.Add(new Kelime("Merhaba"));
                cm.Kelimeler.Add(new Kelime("Surasi"));
                cm.Kelimeler.Add(new Kelime("Tahribat"));
    
                cm[1] = new Kelime("Orasi");
                cm.Kelimeler[1] = new Kelime("Burasi");
    
                Console.Write("{0}\n", cm.ToString());
    
                Console.ReadKey();
            }
            
        }
    
        class Cumle
        {
            /*kelimeleri tutucak koleksiyon*/
            private List<Kelime> m_kelimeler = new List<Kelime>();
            /*yukaridakinin propertysi */
            public List<Kelime> Kelimeler
            {
                get { return m_kelimeler; }
            }
    
            public Cumle()
            {
            }
    
            /*index operatorunun yuklenmesi*/
            public Kelime this[int i]
            {
                get { return m_kelimeler[i]; }
                set { m_kelimeler[i] = value; }
            }
    
    
            public override string ToString()
            {
                string str;
                int i;
                for (i = 0, str = ""; i < m_kelimeler.Count; ++i)
                {
                    str += m_kelimeler[i].ToString() + " ";
                }
                return str;
            }
        }
    
        class Kelime
        {
            string m_strKelime;
            public Kelime(string str)
            {
                m_strKelime = str;
            }
    
            public override string ToString()
            {
                return m_strKelime;
            }
        }


    ..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    Cümle sınıfında Kelimeyi kelime[] şeklinde tanımladım böylece hedefime ulaştım. Cevap verenlere teşekkürler.

    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
Toplam Hit: 990 Toplam Mesaj: 5