1-Mavzu 1-Mavzu Reja Klass a’zolariga ruxsatni boshqarish-fayllar.org
a[index] = value; ErrFlag = false; } else ErrFlag = true; } } // Agar indeks belgilangan chegaralarda bo'lsa, mantiqiy true qiymatini qaytarish private bool ok(int index) { if(index >= 0 & index < Length) return true; return false; } } // Xatolardan xoli massivdan foydalanish. class ImprovedFSDemo { static void Main() { FailSoftArray fs = new FailSoftArrayE); int x; // Length xususiyatiga o`qishga ruxsat berish for(int i=0; i < fs.Length; i++) fs[i] = i*10; for(int i=0; i < fs.Length; i++) { x = fs[i]; if(x != -1) Console.Write(x + " "); } Console.WriteLine() ; // fs.Length = 10; // Xatolik, qiymat berish taqiqlangan! } } Endi Length-bu saqlash joyi yopiq leno'zgaruvchisi bo'lgan xususiyatdir. Bu xususiyat getaccessor tomonidan aniqlanganligi sababli, uni faqat o`qish mumkin. Bu Lengthxususiyatining qiymati faqat o'qilishi mumkin, ammo o'zgartirilmasligini anglatadi. Buni tekshirish uchun yuqoridagi kodni quyidagi satrning boshidagi sharh belgilarini olib tashlang. // fs.Length = 10; // Xatolik, ro'yxatga olish taqiqlangan! Agar siz ushbu kodni kompilyatsiya qilmoqchi bo'lsangiz, Lengthfaqat o'qish uchun mavjud bo'lgan xususiyat ekanligini bildiradigan xatolik xabari olasiz. FailSoftArray sinfidagi Lengthxususiyatini qo'shish xususiyatlari yordamida kod namunasini takomillashtirishni ko`rib chiqish hali tugamadi. Sinfning yana bir xususiyatga aylantirilgan a'zosi ErrFlago`zgaruvchisi faqat o`qish uchun xizmat qiladi. Quyida FailSoftArraysinfining Errorxususiyati yaratish orqali ErrFlagasl yopiq o'zgaruvchisidan uning ma'lumotlarini saqlash uchun foydalanish maqsadida takomillashtirilgan versiyasi keltirilgan.