Обобщённый метод
Параметр типа пишут перед возвращаемым типом
или после модификаторов: 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,
который выводит тип локальной переменной