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) истифода мешаванд.