Sobes.tech
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.