Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1107 of 1492 menu
◀ ▶

Обобщённый метод

Параметр типа пишут перед возвращаемым типом или после модификаторов: T Echo<T>(T value). Компилятор часто выводит T из аргумента вызова, поэтому угловые скобки можно не указывать. Тот же метод можно вызвать с явным типом: Echo<string>(...).

Синтаксис

static T Метод<T>(T аргумент) { return аргумент; }

Пример

Давайте вернём строку через Echo:

using System; class Program { static T Echo<T>(T value) { return value; } static void Main() { string res = Echo("abcde"); Console.WriteLine(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте явно укажем тип аргумента в угловых скобках:

using System; class Program { static T Echo<T>(T value) { return value; } static void Main() { int res = Echo<int>(5); Console.WriteLine(res); } }

Результат выполнения кода:

5

Пример

Давайте выведем два значения с выводом типа:

using System; class Program { static T Echo<T>(T value) { return value; } static void Main() { string a = Echo("12345"); int b = Echo(10); Console.WriteLine(a + " " + b); } }

Результат выполнения кода:

12345 10

Смотрите также

  • параметр типа,
    который задаёт T у класса или struct
  • default для T,
    который возвращает значение по умолчанию
  • открытый тип,
    который описывает List<> без аргумента
  • var,
    который выводит тип локальной переменной
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить