Sobes.tech
Junior — Middle

Como se pode estabelecer uma restrição ao tipo de parâmetro numérico?

sobes.tech IA

Resposta da IA

No C#, a restrição de tipo de parâmetro em genéricos é definida usando a palavra-chave where. Ela permite indicar que o tipo de parâmetro deve herdar de uma classe específica, implementar uma interface, ser um tipo de referência ou valor, ter um construtor sem parâmetros, etc.

Exemplo:

// Restrição: T deve ser uma classe que implemente IDisposable e tenha um construtor sem parâmetros
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Assim, o compilador garante que ao usar MyClass com um tipo T específico, ele satisfaz as restrições definidas.