Sobes.tech
Junior — Middle

Qual é o número máximo de restrições que podem ser definidas ao determinar um tipo parametrizado próprio (generics)?

sobes.tech IA

Resposta da IA

No C# ao definir um tipo parametrizado (genéricos), podem ser estabelecidas várias restrições, mas todas devem ser listadas após o nome do parâmetro de tipo, separadas por dois pontos.

Por exemplo:

class MyClass<T> where T : class, new(), IDisposable
{
    // T deve ser um tipo de referência, ter um construtor público sem parâmetros e implementar IDisposable
}

O número máximo de restrições não é fixo pela linguagem, mas geralmente limita-se a um número razoável para não complicar o código. O mais importante é que as restrições sejam compatíveis e lógicas para o parâmetro de tipo.