public int this[int index] {
// get aksessori.
get {
if (ok(index) ) {
ErrFlag = falser;
return a[index];
} else {
ErrFlag = true;
return 0;
}
}
// set aksessori.
set {
if(ok(index)) {
a[index] = value;
ErrFlag = false;
}
else ErrFlag = true;
}
}
// Indeks belgilangan chegaralarda bo'lsa, mantiqiy true qiymatni qaytarish.
private bool ok(int index) {
if(index >= 0 & index < Length) return true;
return false;
}
}
// Xatoliklardan xoli massivdan foydalanish.
class FinalFSDemo {
static void Main() {
FailSoftArray fs = new FailSoftArray(5);
// Использовать свойство Error.
for(int i=0; i < fs.Length + 1; i++) {
fs[i] = i*10;
if(fs.Error)
Console.WriteLine("Ошибка в индексе " + i);
}
}
}
Error xususiyatini yaratish FailSoftArray sinfida quyidagi ikkita o'zgarishga sabab bo'ldi. Birinchidan, ErrFlag yopiq o'zgaruvchi bo`ldi, endi unga Error xususiyati uchun asosiy saqlash joyi bo`lgani uchun to'g'ridan-to'g'ri murojaat qilib bo`lmaydi. Ikkinchidan, "faqat o'qish uchun" Error xususiyati kiritildi. Endi Error xususiyati dasturda xatolarni aniqlashni tashkil qilishga javob beradi. U yuqoridagi Main() metodida ataylab massiv chegarasini buzilgandagi xatolarni ko`rsatar edi, endi Error xususiyati bu xatolarni aniqlash uchun ishlatiladi.
C# 3.0 versiyasidan boshlab, xususiyatlar boshqaradigan o'zgaruvchini aniqlamasdan, oddiy xususiyatlarni qo'llash imkoniyati paydo bo'ldi. Buning o'rniga, xususiyat uchun asosiy o`zgaruvchi avtomatik ravishda komplyator tomonidan beriladi. Ushbu xususiyat avtomatik ravishda amalga oshiriladi va quyidagi umumiy shaklni oladi:
Do'stlaringiz bilan baham: |