Junior — Middle
Cum se poate stabili o restricție asupra tipului de parametru într-un generic?
sobes.tech AI
Răspuns de la AI
În C#, restricția de tip pentru parametrii generici se stabilește folosind cuvântul cheie where. Acesta permite specificarea faptului că tipul parametrului trebuie să moștenească o anumită clasă, să implementeze o interfață, să fie un tip de referință sau valoare, să aibă un constructor fără parametri etc.
Exemplu:
// Restricție: T trebuie să fie o clasă care implementează IDisposable și să aibă un constructor fără parametri
public class MyClass<T> where T : class, IDisposable, new()
{
public T CreateInstance()
{
return new T();
}
}
Astfel, compilatorul garantează că, atunci când se folosește MyClass cu un tip T specific, acesta respectă restricțiile stabilite.