Junior
101
questionbank
Можно ли использовать более одного шаблонного типа в C#?
Ответ от нейросети
sobes.tech AI
Да, можно использовать несколько шаблонных типов в C#. Это позволяет создавать более гибкие generic-классы и методы.
// Пример generic-класса с двумя шаблонными типами
public class Pair<TKey, TValue>
{
public TKey Key { get; set; }
public TValue Value { get; set; }
// Конструктор
public Pair(TKey key, TValue value)
{
Key = key;
Value = value;
}
}
// Пример generic-метода с двумя шаблонными типами
public TResult Merge<TFirst, TSecond, TResult>(TFirst first, TSecond second, Func<TFirst, TSecond, TResult> merger)
{
// Метод объединяет два значения с помощью предоставленной функции
return merger(first, second);
}
В классе Pair<TKey, TValue> TKey и TValue являются независимыми шаблонными типами. Они могут быть представлены любыми типами данных при создании экземпляра класса.
В методе Merge<TFirst, TSecond, TResult> также используется три шаблонных типа: TFirst, TSecond и TResult. TResult определяет возвращаемый тип метода, а TFirst и TSecond – типы входных параметров.
Это фундаментальная возможность generics, широко используемая в .NET Framework и .NET Core для создания коллекций (например, Dictionary<TKey, TValue>), делегатов и других гибких структур.