Junior
Qaysi vakillarni bilasiz?
sobes.tech AI
AIdan javob
.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ларда ҳам қўлланилади.