Sobes.tech
Junior — Middle

Comment peut-on imposer une restriction sur le type d'un paramètre dans un générique?

sobes.tech IA

Réponse de l'IA

En C#, la restriction de tipo de parámetro en genéricos se establece mediante la palabra clave where. Esto permite indicar que el tipo de parámetro debe heredar de una clase específica, implementar una interfaz, ser un tipo de referencia o valor, tener un constructor sin parámetros, etc.

Ejemplo:

// Restricción: T debe ser una clase que implemente IDisposable y tenga un constructor sin parámetros
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Así, el compilador asegura que al usar MyClass con un tipo T concreto, este cumple con las restricciones establecidas.