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.