Тақырыбы:List шаблоны арқылы тізімдерді құру
T Generic(T arg)
{
T temp = arg;
//...
return temp;
}
Әмбебап әдістер әмбебап және әмбебап емес түрлерде болуы мүмкін. Айта
кету керек, бұл әдіс әмбебап емес, өйткені ол әмбебап типке жатады немесе
оның түрлері оларды қамтитын типтегі әмбебап параметрлер болып
табылатын ресми параметрлері болса да. Бұл әдіс әмбебап болып табылады,
егер оның өзіндік типтік параметрлер тізімі болса. Келесі кодта тек G әдісі
әмбебап болып табылады.
class A
{
T G(T arg)
{
T temp = arg;
//...
return temp;
}
}
class Generic
{
T M(T arg)
{
T temp = arg;
//...
return temp;
}
}
NET келесі аттар кеңістігінде жинақтардың әмбебап кластарын ұсынады:
System аттар кеңістігінде.Collections.Generic. NET - те ұсынылған әмбебап
жинақтардың
көптеген
түрлерін
қамтиды,мысалы,
List
және
Dictionary әмбебап кластары.
System аттар кеңістігінде.Collections.ObjectModel құрамында әмбебап
жинақтардың қосымша түрлері бар (мысалы, ReadOnlyCollection әмбебап
класы), олар сынып пайдаланушыларына Объектілік модельдерді ұсыну үшін
ыңғайлы.
Теңдікке сұрыптау мен салыстыруды жүзеге асыруға арналған әмбебап
интерфейстер System аттар кеңістігінде оқиғаларды өңдеушілерге,
түрлендірулерге және іздеу предикаттарына арналған делегаттардың әмбебап
түрлерімен бірге беріледі.
System аттар кеңістігіне.Рефлексия System аттар кеңістігіне әмбебап типтер
мен әмбебап әдістерді тексеруге мүмкіндік беретін әмбебап шаблондарға
қолдау көрсетеді.Reflection.Emit қосылған шаблондық қолдау
Әмбебап үлгілер өңделетін деректер түріне сәйкес әдісті, сыныпты,
құрылымды немесе интерфейсті дәл баптауға мүмкіндік береді. Мысалы,
кілттер мен мәндердің кез-келген түріне ие болуына мүмкіндік беретін
Hashtable класын қолданудың орнына әмбебап dictionary
класын қолдануға және кілт пен мәндер үшін рұқсат етілген түрлерін
көрсетуге болады. Сонымен қатар, Әмбебап шаблондардың артықшылығы-
кодты қайта пайдалану және түрді сақтау мүмкіндігі.
Әмбебап үлгілерді анықтау және пайдалану
Әмбебап шаблондар-олар сақтайтын немесе пайдаланатын бір немесе бірнеше
типтерге арналған прототиптері (типтік параметрлері) бар сыныптар,
құрылымдар, интерфейстер және әдістер. Әмбебап коллекция класы түр
параметрін онда сақталатын нысандар түрі үшін толтырғыш ретінде қолдана
алады. Түр параметрлері оның өрістерінің түрлері және оның әдістерінің
параметрлерінің түрлері ретінде көрсетіледі. Әмбебап әдіс түр параметрін
келесідей қолдана алады
Әмбебап шаблондардың терминологиясы
Әмбебап шаблондар контекстінде. NET-те келесі терминдер қолданылады:
Әмбебап тип анықтамасы-Бұл сынып, құрылым немесе интерфейс жарнамасы,
ол прототиптермен шаблон ретінде жұмыс істейді, ол оны қамтуы немесе
қолдануы мүмкін. Мысалы, жүйе класы.Collections.Generic.Сөздік
TValue> екі түрді қамтуы мүмкін: кілттер мен мәндер. Әмбебап типтің
анықтамасы тек шаблон болғандықтан, әмбебап типтің анықтамасы болып
табылатын класс, құрылым немесе интерфейс даналарын құру мүмкін емес.
Әмбебап типтің параметрлері немесе типтің параметрлері Әмбебап типті
немесе әдісті анықтаудағы прототиптер болып табылады. Әмбебап түрі
System.Collections.Generic.Сөздік оның кілттері мен
мәндерінің түрлерін білдіретін TKey және TValue типінің екі параметрі бар.
Құрастырылған әмбебап тип немесе құрастырылған тип әмбебап тип
параметрлері үшін типтерді көрсету нәтижесі болып табылады