Sobes.tech
Junior — Middle

Meg tudod nevezni a programozási nyelvben használt fő delegátus típusokat?

sobes.tech MI

Válasz az MI-től

A C# nyelvben a delegátok olyan típusok, amelyek hivatkozásokat képviselnek meghatározott szignatúrájú metódusokra. A fő delegát típusok:

  • Egyszeres célú delegátok (Single-cast delegates) — egy metódusra hivatkoznak.
  • Multicast delegátok (Multicast delegates) — tartalmazhatnak egy listát, amelyben a metódusokat egymás után hívják meg.

Ezenkívül léteznek standard általános delegátok:

  • Action — egy delegát, amely egy metódust reprezentál visszatérési érték nélkül, 0 vagy több paraméterrel.
  • Func<TResult> és Func<T1, TResult> stb. — olyan delegátok, amelyek értéket adnak vissza, és paramétereket fogadhatnak.
  • Predicate<T> — egy delegát, amely egy paramétert fogad és bool értéket ad vissza.

Példa egy delegát deklarálására és használatára:

public delegate int Operation(int x, int y);

Operation add = (a, b) => a + b;
int result = add(3, 4); // 7

Multicast delegát:

Operation op = add;
op += (a, b) => a * b;

foreach (Operation del in op.GetInvocationList()) {
    Console.WriteLine(del(3, 4));
}

Így a fő delegát típusok: egyszeres célú, multicast, valamint a standard általános delegátok Action, Func és Predicate.