Sobes.tech
Junior — Middle

Hoe kun je een beperking op het type parameter in een generiek instellen?

sobes.tech AI

Antwoord van AI

In C# wordt de typeparameterbeperking in generics ingesteld met het sleutelwoord where. Hiermee kan worden aangegeven dat het typeparameter moet erven van een bepaalde klasse, een interface implementeren, een referentie- of waarde-type zijn, een parameterloze constructor hebben, enz.

Voorbeeld:

// Beperking: T moet een klasse zijn die IDisposable implementeert en een parameterloze constructor heeft
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Op deze manier garandeert de compiler dat bij het gebruik van MyClass met een specifiek T-type, deze voldoet aan de gestelde beperkingen.