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) колдонулат.