Sobes.tech
Junior — Middle

Quel type de polymorphisme est réalisé lors de l'utilisation de types génériques?

sobes.tech IA

Réponse de l'IA

При использовании обобщённых типов (дженериков) в C# реализуется параметрический полиморфизм. Это означает, что один и тот же код (например, класс или метод) может работать с разными типами данных, заданными параметром типа, без необходимости писать отдельные версии для каждого типа.

В отличие от подтипового полиморфизма (наследования и переопределения методов), параметрический полиморфизм позволяет создавать универсальные структуры данных и алгоритмы, которые безопасны по типу и переиспользуемы.

Пример:

class Box<T>
{
    private T value;
    public void SetValue(T val) => value = val;
    public T GetValue() => value;
}

var intBox = new Box<int>();
intBox.SetValue(123);

var stringBox = new Box<string>();
stringBox.SetValue("текст");

Здесь Box<T> — универсальный контейнер, который может хранить значение любого типа T.