Junior
Кайсы делегаттарды билесиң?
sobes.tech AI
AIден жооп
.NETтеги негизги делегат түрлөрү:
System.Delegate(абстракт негизги класс) — бардык делегаттар үчүн негиз.System.MulticastDelegate(Delegateтен мурас алган) — делегатка бир нече методду камтыууга мүмкүндүк берет.- Генерик делегаттар .NET Framework 3.5+те:
Action— кайтаруу мааниси жок (void) делегат.Action<T>...Action<T1, T2, T3, T4>— бирден төрткө чейин параметрлери бар жана кайтаруу мааниси жок делегаттар.Func<TResult>—TResultтүрүндөгү кайтаруу мааниси бар жана параметрлери жок делегат.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— бирден төрткө чейин параметрлери жанаTResultтүрүндөгү кайтаруу мааниси бар делегаттар.Predicate<T>— атайынFunc<T, bool>тиби, методду билдирет, ал белгилүү критерийлер топтомун аныктайт жана берилген объект ушул критерийлерге жооп береби-жок экенин аныктайт.
Action жана Func колдонуу мисалы:
// Action делегаты: int кабыл алат, эч нерсе кайтарбайт
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // 10 чыгарат
// Func делегаты: эки int кабыл алат, int кайтарат
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // натыйжа = 8
Делегаттар ошондой эле иш-чараларда (event) колдонулат.