class Account dagi burchakli qavslar sinf umumiy ekanligini bildiradi va burchakli qavs ichiga olingan T turi bu sinf tomonidan qo'llaniladi. T harfini ishlatish shart emas, u boshqa har qanday harf yoki belgilar to'plami bo'lishi mumkin. Va endi biz qanday turdagi bo'lishini bilmaymiz, u har qanday turdagi bo'lishi mumkin. Shuning uchun burchakli qavslardagi T parametri umumiy parametr deb ham ataladi, chunki uni har qanday turdagi almashtirish mumkin.
Misol uchun, T parametri o'rniga siz hisob raqamini ifodalovchi raqam bo'lgan int ob'ektidan foydalanishingiz mumkin. Shuningdek, u string ob'ekti yoki boshqa sinf yoki tuzilma bo'lishi mumkin:
Account account1 = new Account { Sum = 5000 };
Account account2 = new Account { Sum = 4000 };
account1.Id = 2; // o`ramlash shart emas
account2.Id = "4356";
int id1 = account1.Id; // o'ramni ochish shart emas
string id2 = account2.Id;
Console.WriteLine(id1);
Console.WriteLine(id2);
Account sinfi umumiy bo‘lgani uchun burchakli qavslar ichida tur nomidan keyin o‘zgaruvchini belgilashda T universal parametri o‘rniga ishlatiladigan turni ko‘rsatish kerak. Bu holda Account obyektlari int va string turlari bo‘yicha teriladi.
Account account1 = new Account { Sum = 5000 };
Account account2 = new Account { Sum = 4000 };
Shuning uchun birinchi account1 obyekti uchun Id xossasi int turiga, account2 obyekti esa string turiga ega bo‘ladi.
Agar biz Id xususiyatining qiymatini boshqa turdagi o'zgaruvchiga belgilashga harakat qilsak, biz kompilyatsiya xatosini olamiz:
Account account2 = new Account { Sum = 4000 };
account2.Id = "4356";
int id1 = account2.Id; // kompilyatsiya xatosi
Bu turdagi xavfsizlik muammolarini oldini oladi. Shunday qilib, sinfning umumiy versiyasidan foydalanib, biz bajarish vaqtini va yuzaga kelishi mumkin bo'lgan xatolar sonini kamaytiramiz.
Do'stlaringiz bilan baham: |