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