Junior — Middle
Генерикте параметрдин түрүнө чектөө коюу кандай болот?
sobes.tech AI
AIден жооп
C# тилинде, генериктердеги параметрдин түрүнүн чектөөсү where ачкыч сөзү аркылуу белгиленет. Бул параметрдин түрү белгилүү бир классынан мурас алууга, интерфейсти ишке ашырууга, шилтемелүү же маанилүү түргө, параметрсиз куруучу бар болууга жана башка шарттарды белгилөөгө мүмкүндүк берет.
Мисал:
// Чектөө: T, IDisposable интерфейсин ишке ашырган жана параметрсиз куруучу бар класс болушу керек
public class MyClass<T> where T : class, IDisposable, new()
{
public T CreateInstance()
{
return new T();
}
}
Ушул жол менен компилятор MyClass колдонулганда, T түрү белгиленген чектөөлөргө жооп берерин кепилдейт.